자료구조 한눈에 비교
이름 | 특징 | C++ 라이브러리 |
---|---|---|
배열 | 가장 기본적. 요소의 나열 | vector |
연결 리스트 | 각 요소를 노드라고 하고, 노드는 다음 노드를 가리키는 포인터를 가짐 | list |
해시 테이블 | 요소를 해시함수를 통해 값을 변경. 검색이 빠름 | unordered_set |
연상 배열 | 정수가 아닌 값을 키로 가지는 배열 | unordered_map |
스택 | 선입후출 | stack |
큐 | 선입선출. 크기의 무한정 증가를 막기 위해 링버퍼 사용 | queue |
그래프 | 꼭짓점과 변으로 이루어짐 | x |
트리 | 연결이면서 사이클이 없는 그래프 | x |
힙 | 이진트리를 배열로 구현한 것 | priority_queue |
Union-Find | 그룹 분할을 관리하기 편하게 구현한 것 | x |