반응형
알고리즘의 역사 및 개념과 종류에 대해 알아보겠습니다.
알고리즘(Algorithm)?
알고리즘은 9세기 페르시아의 수학자 '아부 압둘라 무하마드 이븐 무사 알콰리즈미(Abu Abdullah Muhammad ibn Musa al-khwarizmi)'의 이름을 라틴어화한 알고리스무스(Algorismus)에서 유래한 표현으로, 어떠한 문제를 해결하기 위해 일련의 명령이나 반복되는 절차입니다. 즉, 문제 풀이에 대한 필요한 계산절차 또는 처리과정의 단계적인 순서를 말하는 것입니다.
정렬 (Sorting)
- 버블 정렬
- 삽입 정렬
- 퀵 정렬
탐색 (Search)
- 순차 탐색
- 이진탐색
- 이진 탐색 트리
- 레드 블랙 트리
그래프
- 깊이 우선 탐색 (DFS)
- 너비 우선 탐색 (BFS)
- 위상 정렬
- 최소 신장 트리
- 프림 알고리즘
- 크루스칼 알고리즘
- 최단 경로 탐색
- 다익스트라(Dijkstra) 알고리즘
- 플로이드-워셜(Floyd-Warshall) 알고리즘
- 문자열 검색
- 카프-라빈 아고리즘
- KMP(Knuth Morris Partt) 알고리즘
- 보이어-무어(Boyer-Moore) 알고리즘
문제 해결 전략(방식)
- 분할 정복(Divide and conquer)
- 동적 계획법(Dynamic Programming)
- 탐욕(greedy) 알고리즘
- 백트래킹 기법
주요 알고리즘의 종류를 알아보았습니다.
특히, 코딩 테스트 기출문제에 많이 나오니 숙지해두시면 많은 도움이 될 것 같습니다.
반응형
'프로그래밍 > 알고리즘(Algorithm)' 카테고리의 다른 글
[Algorithm] 백준 - 덩치 (Brute force: 완전 탐색) (1) | 2024.01.13 |
---|---|
[Algorithm] 백준 - 영화감독 숌 (Brute force: 완전 탐색) (0) | 2024.01.12 |
[백준] 1032번 명령 프롬프트 - 파이썬 (0) | 2023.12.18 |
[Algorithm] 백준 - 일곱 난쟁이 (Brute force: 완전 탐색) (0) | 2023.08.08 |