본문 바로가기

Algorithm

알고리즘의 종류

반응형

제한된 공간과 시간 안에서 데이터를 어떻게 처리할 것인지를 정해놓은 로직

 

종류

탐색(Search)

 - 선형 탐색(Linear Search)

 - 이분(이진) 탐색(Binary Search)

 - 순차 탐색(Sequential Search)

 - 해시 탐색(Hash Search)

 

정렬(Sorting)

 - 버블 정렬(Bubble Sort)

 - 선택 정렬(Selection Sort)

 - 삽입 정렬(Insertion Sort)

 - 퀵 정렬(Quick Sort)

 - 병합 정렬(Merge Sort)

 - 힙 정렬(Heap Sort)

 - 기수 정렬(Radix Sort)

 - 계수 정렬(Count Sort)

 

완전 탐색

 - 브루트 포스

 - 비트 마스크

 - 백트리캥

 - 재귀함수

 - 순열

 - DFS(깊이 우선 탐색) & BFS(너비 우선 탐색)

 

분할 정복

 

동적 계획법(Dynamic Programming)

 

그리디(Greedy)

 

트리

 - 이진 검색 트리(Binary Search Tree)

 

그래프

 - 위상 정렬

 

최단 경로

 - Floyd-Warshall

 - 다익스트라(Dijkstra)

 - Bellman-Ford

 

최소 신장 트리(MST, Minimum Spanning Tree)

 - Kruskal

 - Prim

 

기타

 - 비트 연산

 - 진수 변환

 - 재귀(Recursion)

 - 유클리드 호제법(최대공약수, 최소공배수)

 - 투포인터(슬라이딩 윈도우)

 - 조합, 순열

 - 파라메트릭 서치

 - 최장 증가 수열(LIS)

 - 최소 공통 조상(LCA)

 - 비트 마스크(BitMask)

 - Matching Parenthesis problem

 - Variables / Pointers manipulation

 - reverse linked list(duplicates, removing duplicates)

 - Custom data structures(Object oriented programming)