알고리즘 (JAVA) - fora22/CodingTest GitHub Wiki

알고리즘

소스 코드

탐색

순차 탐색

  • 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법

이진 탐색

  • 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교해서 원하는 데이터를 찾는 방법

정렬

선택 정렬

  • 가장 원시적이고, 비효율적인 방법
  • 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸고, 그다음 작은 데이터를 선택해 앞에서 두 번째 데이터와 바꾸는 과정을 반복함

삽입 정렬

  • 데이터를 하나씩 확인하며, 각 데이터를 적절한 위치에 삽입함
  • 선택 정렬보다는 효율적임

퀵 정렬

  • 정렬 알고리즘 중 가장 많이 사용되는 알고리즘 중 하나임
  • 기준을 설정한 다음 큰 수와 작은 수를 교환한 후 리스트를 반으로 나누는 방식

계수 정렬

  • 데이터가 정수로 표현될 수 있을 때만 사용 가능
  • 데이터의 개수를 세는 방식