코딩테스트에 자주 출제되는 자료구조와 알고리즘을 Python으로 정리한 학습 자료입니다.
| 폴더 | 내용 | 핵심 키워드 |
|---|---|---|
| C_01_Stack | 스택 (Stack) | FILO, push, pop, 괄호 짝 맞추기 |
| C_02_Queue | 큐 (Queue) | FIFO, deque, popleft, 네트워크 문제 |
| C_03_Tree | 트리 (Tree) | 이진 트리, BST, 전위/중위/후위 순회 |
| C_04_Graph | 그래프 (Graph) | 인접 행렬, 인접 리스트, vertex, edge |
| C_05_Heap | 힙 (Heap) | heapq, 우선순위 큐, 최대힙, 최소힙 |
| 폴더 | 내용 | 핵심 키워드 |
|---|---|---|
| C_06_DFS_BFS | DFS / BFS | 깊이 우선, 너비 우선, 재귀, 큐 |
| C_07_BinarySearch | 이진 탐색 | O(logN), bisect, 파라메트릭 서치 |
| 폴더 | 내용 | 핵심 키워드 |
|---|---|---|
| C_08_Sorting | 정렬 알고리즘 | sort(), sorted(), key, lambda |
| 키워드 | 사용 알고리즘 |
|---|---|
| "짝 맞추기", "가장 가까운" | 스택 (Stack) |
| "네트워크", "순서대로" | 큐 (Queue) |
| "연결" | 그래프 + DFS/BFS |
| "최단 거리" | BFS (가중치 없음) / 다익스트라 (가중치 있음) |
| "정렬된 데이터에서 찾기" | 이진 탐색 |
| "최대/최소 빈번하게" | 힙 (Heap) |
from collections import deque, defaultdict, Counter
from bisect import bisect_left, bisect_right
import heapq
import sys
input = sys.stdin.readline # 빠른 입력| 자료구조/알고리즘 | 평균 | 최악 |
|---|---|---|
| Stack (push/pop) | O(1) | O(1) |
| Queue (enqueue/dequeue) | O(1) | O(1) |
| Heap (push/pop) | O(logN) | O(logN) |
| 이진 탐색 | O(logN) | O(logN) |
| DFS/BFS | O(V+E) | O(V+E) |
| 정렬 (Timsort) | O(NlogN) | O(NlogN) |
- Study_language_Python - Python 기본 문법
- Study_AI_DataAnalysis - NumPy & Pandas 데이터분석