자료구조는 데이터를 효율적으로 저장하고 관리하기 위한 다양한 방법
선형 자료구조 (Linear Data Structures)
배열 (Array): 고정된 크기의 동일한 데이터 타입의 요소 모음.
연결 리스트 (Linked List): 노드들이 포인터로 연결된 동적 자료구조.
- 단일 연결 리스트 (Singly Linked List)
- 이중 연결 리스트 (Doubly Linked List)
- 원형 연결 리스트 (Circular Linked List)
스택 (Stack): 후입선출(LIFO) 방식으로 데이터를 저장하는 구조.
큐 (Queue): 선입선출(FIFO) 방식으로 데이터를 저장하는 구조.
- 기본 큐 (Basic Queue)
- 우선순위 큐 (Priority Queue)
- 원형 큐 (Circular Queue)
비선형 자료구조 (Non-linear Data Structures)
트리 (Tree): 계층적인 관계를 나타내는 자료구조.
- 이진 트리 (Binary Tree)
- 이진 탐색 트리 (Binary Search Tree, BST)
- 균형 이진 트리 (Balanced Binary Trees): AVL 트리, 레드-블랙 트리 등.
- 힙 (Heap): 완전 이진 트리로, 최대 힙과 최소 힙으로 나뉨.
그래프 (Graph): 노드와 엣지로 구성된 자료구조로, 비선형 관계를 표현.
- 유향 그래프 (Directed Graph)
- 무향 그래프 (Undirected Graph)
- 가중치 그래프 (Weighted Graph)
해시 테이블 (Hash Table)
데이터에 대한 키-값 쌍을 저장하는 자료구조로, 빠른 검색과 삽입이 가능.
집합 (Set)
중복을 허용하지 않는 데이터의 모음으로, 여러 가지 연산(합집합, 교집합 등)에 적합.
문자열 자료구조 (String Data Structures)
문자열을 저장하고 조작하기 위한 특수한 자료구조.
접미사 배열 (Suffix Array)
트라이 (Trie): 문자열 검색에 유용한 자료구조.
'TIL' 카테고리의 다른 글
2024 - 12 - 27 비선형 자료구조 (공부용) (0) | 2024.12.27 |
---|---|
2024-12-27 선형 자료구조 (1) | 2024.12.27 |
2024-12-26 디자인 패턴 (0) | 2024.12.26 |
2024 - 12 -24 객체지향적 설계 (2) | 2024.12.24 |
2024-12-23 c++ 함수 오버로딩, 템플릿 (2) | 2024.12.23 |