[파이썬][알고리즘] 알고리즘 종류
아르고리즘
- 심심해서 알아본 알고리즘의 역사 간략하게
알고리즘이라는 단어 자체는 9세기경 페르시아 수학자 알콰리즈미(Al-Khwarizmi)의 이름으로 유래가 되었으며 수학의 다양한 방정식들의 해법에 대한 책을 서기 830년에 집필했다.
참고로 이 양반은 수학을 제외하고도 천문학, 지리학, 지도 등등 다양한 분야에서 다재다능한 양반
번외로 최대공약수를 찾는 알고리즘의 하나인 유클리드 알고리즘은 가장 오래된 알고리즘으로 기원전 300년경에 생겼다고 한다.
알고리즘 공부의 핵심
- 시간복잡도 (Big O Time) 변화
- 효율적인 자료구조 선택
알고리즘의 종류
탐색(Search)
- 선형 탐색(Linear Search)
- 이분(이진) 탐색(Binary Search)
- 순차 탐색(Sequential Search)
- 해시 탐색(Hash Search)
- 해시 테이블(Using Hash Tables)
정렬(Sorting)
- 버블 정렬(Bubble Sort)
- 선택 정렬(Selection Sort)
- 삽입 정렬(Insertion Sort)
- 퀵 정렬(Quick Sort)
- 병합 정렬(Merge Sort)
- 힙 정렬(Heap Sort)
- 기수 정렬(Radix Sort)
- 계수 정렬(Count Sort)
완전 탐색
- 브루트 포스(Brute Force)
- 비트 마스크(Bit Mask)
- 백트래킹
- 재귀함수
- 순열
- BFS(너비 우선 탐색)
- DFS(깊이 우선 탐색)