알고리즘 정리 - swkim0128/PARA GitHub Wiki

알고리즘 정리

1. 자료 구조 (Data Structures)

  • 배열(Array)
  • 연결 리스트(Linked List)
  • 스택(Stack)
  • 큐(Queue)
  • 덱(Deque)
  • 해시 테이블(Hash Table)
  • 트리(Tree)
  • 그래프(Graph)

2. 정렬 알고리즘 (Sorting Algorithms)

  • 버블 정렬(Bubble Sort)
  • 선택 정렬(Selection Sort)
  • 삽입 정렬(Insertion Sort)
  • 퀵 정렬(Quick Sort)
  • 병합 정렬(Merge Sort)
  • 힙 정렬(Heap Sort)
  • 계수 정렬(Counting Sort)
  • 기수 정렬(Radix Sort)

3. 검색 알고리즘 (Search Algorithms)

  • 선형 검색(Linear Search)
  • 이진 검색(Binary Search)
  • 이진 검색 트리(Binary Search Tree)
  • 해시 검색(Hashing)

4. 그래프 알고리즘 (Graph Algorithms)

  • 너비 우선 탐색(BFS)
  • 깊이 우선 탐색(DFS)
  • 최단 경로 알고리즘 (Shortest Path Algorithms)
    • 다익스트라 알고리즘(Dijkstra's Algorithm)
    • 벨만-포드 알고리즘(Bellman-Ford Algorithm)
  • 최소 신장 트리 (Minimum Spanning Tree)
    • 크루스칼 알고리즘(Kruskal's Algorithm)
    • 프림 알고리즘(Prim's Algorithm)
  • 플로이드-워셜 알고리즘(Floyd-Warshall Algorithm)
  • 위상 정렬(Topological Sorting)

5. 동적 프로그래밍 (Dynamic Programming)

  • 피보나치 수열(Fibonacci Sequence)
  • 배낭 문제(Knapsack Problem)
  • 최소 비용 경로(Minimum Cost Path)
  • 최대 부분 배열 합(Maximum Subarray Sum, Kadane's Algorithm)
  • 문자열 편집 거리(Edit Distance)

6. 탐욕 알고리즘 (Greedy Algorithms)

  • 활동 선택 문제(Activity Selection Problem)
  • 탐욕적 방법론의 개념 및 응용
  • 허프만 코딩(Huffman Coding)

7. 분할 정복 (Divide and Conquer)

  • 분할 정복 알고리즘 개념
  • 병합 정렬(Merge Sort)
  • 퀵 정렬(Quick Sort)
  • 이진 검색(Binary Search)

8. 백트래킹 (Backtracking)

  • 백트래킹의 개념 및 응용
  • N-Queens 문제
  • 미로 찾기(Maze Solving)

9. 문자열 알고리즘 (String Algorithms)

  • KMP 알고리즘(Knuth-Morris-Pratt Algorithm)
  • 라빈-카프 알고리즘(Rabin-Karp Algorithm)
  • 트라이(Trie)
  • 접미사 배열(Suffix Array)

10. 기타 고급 알고리즘

  • 비트 마스크(Bit Masking)
  • 유니온 파인드(Union-Find, Disjoint Set)
  • 세그먼트 트리(Segment Tree)
  • 펜윅 트리(Fenwick Tree)
  • 데이크스트라(DFS/BFS의 확장)

11. 알고리즘 문제 풀이

  • 알고리즘 문제 풀이 팁 및 테크닉
  • 문제별 풀이 예시 (기출 문제, 패턴별 문제 등)
⚠️ **GitHub.com Fallback** ⚠️