O(1)
- 배열 인덱스 접근 (예, arr[5];)
- 배열에 저장되있는 트리의 부모 또는 왼/오른쪽 자식 노드 검색
- 단일 연결 리스트에 노드를 삽입
- 이중 연결 리스트의 다음 또는 이전 요소에 접근
- 스택 푸시 팝
- 큐 삽입 삭제
- 해싱 (Hash Table)
O(log n)
- 이중 탐색
- 이진 트리에서 최소 또는 최대값 검색
- 분할 정복 알고리즘 중 일차적인것들만
- 피보나치 수열 계산
O(n)
- 배열 순회
- 연결 리스트 순회
- 이진 검색
- 정렬이 되어있지 않은 연결 리스트 요소 제거
- 두 문자열간 비교
- 회문인지 검사
- 계수/버킷 정렬
O(n log n)
- 병합 정렬
- 힙 정렬
- 퀵 정렬
- 분할 정복 알고리즘 중 O(n^2)로 구현되있는것들
O(n^2)
- 버블 정렬
- 삽입 정렬
- 선택 정렬
- 단순한 2차원 배열 순회
O(n!)
- 브루트포스 탐색 방식으로 특정 문제를 해결
- 부분 순서 집합에서 모든 무한 수열을 생성
- 라플라스 전개로 행렬식 찾을 때
- Set에서 모든 분할된것들을 순서대로 나열할 때
'CS > 자료구조 & 알고리즘' 카테고리의 다른 글
해시 함수의 종류 (0) | 2022.10.31 |
---|---|
BSP(Binary Space Partitioning)알고리즘을 응용해 로그라이크류 게임 방만들기 (0) | 2022.09.17 |
유향 비순환 그래프 (DAG = Directed acyclic graph) 와 Khan 알고리즘을 이용한 위상 정렬 (Topological Sort) (0) | 2022.08.19 |
분리 집합 (Disjoint Set) / Union-Find (0) | 2022.08.14 |
최소 스패닝 트리 (MST) / 크루스칼 알고리즘 (Kruskal Algorithm) (0) | 2022.08.14 |