본문 바로가기
Lecture/Algorithm

알고리즘 (Algorithm)

by YUNZEE 2023. 9. 5.
728x90
알고리즘의 기초사항
알고리즘이란?

문제가 있고 그 문제를 해결하기 위한 효율적인 알고리즘 찾고 그걸 반복적으로 수행하는 것을 말한다.

 

정말 알고리즘이 필요할 때는?

코딩은 다했고, 배포도 끝냈을 때.그러나 너무 심각하게 느릴 때 

어디 코드를 최적화해서 빠르게 해야 할지 모를 때. 바로 이때 알고리즘을 활용한다.

 

문제를 해결하기 위해서 알고리즘을 활용해 접근해 본다면?(여기서 '피츄'를 찾는 방법은 이분탐색을 활용함)

<주어진 문제>

전화번호부에서 '피츄'를 찾는다.

<문제 해결방안>

1. 전화번호부를 집어든다.

2. 전화번호부의 중간을 핀다.

* 3. 그 페이지를 살펴본다.

4. '피츄'가 그 페이지에 있다면

5. '피츄'에게 전화를 건다.

**6. 만약에 '피츄'가 더 앞쪽 페이지에 있다면

7. 책 앞쪽의 중간을 펴서 살펴본다.

8. 다시 3단계로 돌아간다. (*다시 3단계로 가서 차례대로 단계를 다시 밟아간다는 의미)

**(여기서 만약에 더 앞쪽에  피츄가 없어서 6단계가 성립되지 않는다면! 그럼 건너뛰고)

9. 만약 '피츄'가 더 뒤쪽 페이지에 있다면

10. 책 뒤쪽의 중간을 펴서 살펴본다.

11. 다시 3단계로 돌아간다.(*그리고 여기서 6단계와 9단계 모두가 해당되지 않는다면)

12. 만약 모든 상황이 맞지 않는다면

13. 이 탐색 행위를 종료한다.

-- '피츄'는 전화번호부에 없다는 의미--

 

알고리즘 기법

- 복잡도

- 연결리스트

- 트리

- 그래프

- 탐색

- 정렬

 

다음시간에는 알고리즘 기법에 대해 자세하게 설명을 하도록 하겠습니다.

읽어주셔서 감사합니다.

728x90

'Lecture > Algorithm' 카테고리의 다른 글

이진 트리의 표현  (2) 2023.10.16
이진 트리  (0) 2023.10.15
연결 리스트  (0) 2023.10.10