수학에서 점화식 또는 재귀식이란 수열에서 이웃하는 두 개의 항 사이에 성립하는 관계
def factorial(n):
if n==0:
return 1
return n*factorial(n-1)
def fibonacci(n):
if n<=1:
return n
return fibonacci(n-1)+fibonacci(n-2)
원리 : 3개의 원판을 옮긴다면 2개의 원판을 다른곳으로 옮기는 것을 2번 반복하고 그 사이 제일 아래의 원판을 옮기는 회수 1이 추가 되는 원리
O(1) < O(log n) < O(nlog n) < O(n²) < O(2ⁿ)
이전에 쓴 글이 있어 링크를 남긴다.
Locality는 CPU가 짧은 시간 범위 내에 일정 구간의 메모리 영역을 반복적으로 엑세스 하는 경향
Quick sort는 다른 배열을 사용하지만 quick sort는 다른 배열 사용하지 않기 때문에 Locality가 더 높다.
Ref)
https://velog.io/@eensungkim/%EC%A0%90%ED%99%94%EC%8B%9D-TIL-42%EC%9D%BC%EC%B0%A8
https://shoark7.github.io/programming/algorithm/tower-of-hanoi
https://namu.wiki/w/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98%20%EC%88%98%EC%97%B4
https://velog.io/@cha-suyeon/Algorithm-%EC%8B%9C%EA%B0%84-%EB%B3%B5%EC%9E%A1%EB%8F%84-%EA%B3%B5%EA%B0%84-%EB%B3%B5%EC%9E%A1%EB%8F%84