자료구조
나쁜 프로그래머는 코드를 신경씁니다. 훌륭한 프로그래머는 자료구조와 자료구조 사이의 관계를 신경씁니다. — 리누스 토르발즈, 2006
올바른 자료구조로 구성했다면 알고리즘은 언제나 자명합니다. 알고리즘이 아니라 자료구조가 프로그래밍의 핵심입니다. — 롭 파이크, 1989
ADTs
- linear-list
- dictionary
- disjoint-set
- minimum-spanning-tree
- 스택
- 큐
- 우선 순위 큐
- 이진 검색 트리
- heap
알고리즘을 개발하기 위한 단계
- 문제를 모델링하기
- 문제를 해결하기 위한 알고리즘을 찾아 써보기
- 효율적인지 확인하기
- 다른 방법이 더 있는지 확인하고 개선하기