Recursion
Recursion은 자신의 알고리즘을 다시 불러와 사용하는 것이다.
Recursion을 통해 똑같은 자신의 function을 call stack에 저장하고 base case에 도달하면
push된 recursion function들을 하나씩 pop하면서 실행한다.
Binary Heaps
Tree의 한 종류
규칙 : 위 층보다 작은 숫자가 위치한다. 만약 밑에 부모보다 큰 수가 자식에 오면 자리가 교체된다.
Algorithms
Algorithm이란 간단히 process들의 step으로 computer에게 우리가 원하는 동작을 명령하는 것이다.
Data Structures + Algorithms = Programs
위 수식에서 Algorithm은 Data structure를 이용해 특정 동작을 할 수 있게 해준다.
Trees
Parent Child 관계를 가진 데이터 구조로 Root Directory로 부터 내려간다.
Rules
모든 Parent node는 최대 2개의 child를 가질 수 있다.
Parent node보다 좌측의 node는 Parent보다 항상 작다.
Parent node보다 우측의 node는 Parent보다 항상 크다.
대표적인 예가 바로 윈도우의 파일 구조이다.
Doubly Linked List
Single Linked List와는 다르게 Pointer가 2개이다. 다음 Data를 가리키는 pointer, 그 전 Data를 가리키는 pointer가 그것이다.
pointer가 하나 더 있기 때문에 Memory가 2배로 소모되지만 더 flex하게 Data를 다룰 수 있다.(특히 앞에서만 시작했던 linked list와는 달리 뒤에서도 접근이 가능하다.)
웹페이지 forward, backward가 이것으로 구성되어 있다.