알고리즘 (JAVA) - fora22/CodingTest GitHub Wiki
알고리즘
소스 코드
탐색
순차 탐색
- 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법
이진 탐색
- 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교해서 원하는 데이터를 찾는 방법
정렬
선택 정렬
- 가장 원시적이고, 비효율적인 방법
- 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸고, 그다음 작은 데이터를 선택해 앞에서 두 번째 데이터와 바꾸는 과정을 반복함
삽입 정렬
- 데이터를 하나씩 확인하며, 각 데이터를 적절한 위치에 삽입함
- 선택 정렬보다는 효율적임
퀵 정렬
- 정렬 알고리즘 중 가장 많이 사용되는 알고리즘 중 하나임
- 기준을 설정한 다음 큰 수와 작은 수를 교환한 후 리스트를 반으로 나누는 방식
계수 정렬
- 데이터가 정수로 표현될 수 있을 때만 사용 가능
- 데이터의 개수를 세는 방식