[알고리즘] 선택 정렬(Selection Sort) [어떤 원소를 넣을지 선택하는 정렬 알고리즘]
·
◈ Coding Test/알고리즘(Algorithm)🎡
- 선택 정렬(Selection Sort)이란? 1번째부터 끝까지 훑어서 가장 작은 게 1번째, 2번째부터 끝까지 훑어서 가장 작은 게 2번째, …해서 (n-1) 번 반복한다. 어떻게 정렬이 되어 있든 일관성 있게 n(n-1)​/2에 비례하는 시간이 걸린다. → 인간이 사용하는 정렬 방식을 가장 많이 닮았다. (버블 정렬보다 두 배 정도 빠르다.) - 파생형 : 이중 선택 정렬(Double Selection Sort) 선택 정렬의 파생형으로, 끝까지 훑어서 최솟값과 최댓값을 동시에 찾아낸 뒤 최솟값은 1번째와 바꾸고 최댓값은 끝과 바꾼 다음 훑는 범위를 양쪽으로 한 칸씩 줄여서 반복하는 방식 → 선택 정렬에 칵테일 정렬 방식을 도입
[알고리즘] 정렬 알고리즘(Sorting algorithm)이란? [정렬 알고리즘의 정의, 이진탐색(Binary Search)]
·
◈ Coding Test/알고리즘(Algorithm)🎡
- 정렬 알고리즘(Sorting algorithm)이란? 원소들을 번호순이나 사전 순서와 같이 일정한 순서대로 열거하는 알고리즘 - 정렬 알고리즘의 결과 조건 출력은 비 내림차순(각각의 원소가 전 순서 원소에 비해 이전의 원소보다 작지 않은 순서)이다. 출력은 입력을 재배열하여 만든 순열이다. - 왜 사용하는가? 컴퓨터 분야에서 사용하는 데이터의 경우, 숫자의 순서나 어휘의 순서대로 정렬한 다음 사용해야 되는 경우가 많아 얼마나 효율적으로 정렬하느냐가 문제의 핵심이다. 데이터를 정렬해야 하는 이유는 탐색을 위해서! → 데이터가 정렬되어 있다면 이진 탐색이라는 강력한 알고리즘을 사용할 수 있다. - 이진 탐색(Binary Search) 오름차순으로 정렬된 정수의 리스트를 같은 크기의 두 부분 리스트로 나누..