목록BOOKS/Hello Coding 알고리즘 (2)
\(@^0^@)/
[ 3장 재귀] 재귀를 쓴다고 성능이 더 나아지지는 않는다. 사실 반복문이 더 성능이 좋은 경우가 많다. 프로그램에 반복문을 사용하면 프로그램의 성능을 향상시킬 수 있지만, 재귀를 사용하면 프로그래머의 능력을 향상시킬 수 있다. 상황에 따라 적절한 방법을 골라 사용해야 한다. 대부분의 중요한 알고리즘들이 재귀를 사용하므로 개념을 잘 이해해야 한다. [ 3장 요약 ] 재귀는 함수가 스스로를 호출하는 것이다. 모든 재귀 함수는 기본 단계와 재귀 단계라는 두 부분으로 나누어져 있다. 스택에는 push와 pop이라는 두 가지 연산이 있다. 모든 함수 호출은 호출 스택을 사용한다. 호출 스택은 너무 커져서 메모리를 엄청나게 소비할 수도 있다. [4장 퀵 정렬] 분할 정복 문제 해결 방법 중에서 가장 유명한 재귀..
[ 1장 알고리즘 소개 ] 많이 사용하는 빅오 실행 시간의 예 O(log n), 로그 시간 : 예) 이진 탐색 O(n), 선형 시간 : 예) 단순 탐색 O(n * log n) : 예) 퀵 정렬과 같이 빠른 정렬 알고리즘 O(n²) : 예) 선택 정렬과 같이 느린 정렬 알고리즘 O(n!) : 예) 외판원 문제와 같이 정말 느린 알고리즘 빈 종이에 16개의 네모칸을 만드는 문제를 예로 들어 각 빅오 실행 시간을 알아보자. 네모 칸의 수 O(log n) O(n) O(n log n) O(n²) O(n!) 16개 0.4초 1.6초 6.4초 25.6초 66301년 256개 0.8초 25.6초 3.4분 1.8시간 2. x 10⁴⁹⁸년 1024개 1.0초 1.7분 17분 1.2일 1.72 x 10²⁶³¹년 이진 탐색은..