본문 바로가기

알고리즘

정렬

 

선택 정렬 (Selection Sort)

선택정렬은 요소들 중에서 최솟값이나 최댓값을 찾아 맨 앞의 자료와 교환해나가는 알고리즘이다.

요소들 중에서 가장 작은 값을 맨 앞에 요소와 교환한다. 그리고 그 다음 인덱스부터 다음으로 작은 값을 찾아 두번째 자리와 교환한다.

배열의 n+1 인덱스부터 순회하여 최솟값을 구한후 swap함수로 n번째 인덱스와 최솟값인 인덱스를 교환한다.

 

삽입 정렬 (Insertion Sort)

삽입정렬은 현재 위치에서 요소들을 비교하여 자신이 들어갈 위치에 삽입하는 배열이다.

삽입정렬은 두번째 인덱스 부터 시작하여 임시로 해당 요소를 저장하여 배열의 요소들과 비교한다. 비교한 요소의 값보다 작으면 그 요소의 인덱스 -1 위치에 삽입한다.

 

버블 정렬 (Buble Sort)

버블정렬은 두개의 인접한 요소를 비교하여 크기 순서대로 교환하는 알고리즘이다.

총 n개의 요소들 중에서 첫번째 요소와 두번째 요소를 비교하여 교환하고  두번째와 세번째를 비교하고 ... 마지막-1번째 요소와 마지막 요소를 비교하여 교환한다. 각 회전마다 마지막에 가장 큰수가 저장되므로 (n-현재 회전수)만큼 반복한다.

 

 퀵 정렬 (Quick Sort)

퀵 정렬은 분할 정복 알고리즘으로 요소들 중 한 기준점인 pivot을 정해서 요소들을 pivot과 비교하여 작은 값은 왼쪽, 큰 값은 오른쪽으로 옮기면서 정렬하는 알고리즘이다.

 

'알고리즘' 카테고리의 다른 글

이진 탐색(이분 탐색, Binary_Search)  (0) 2024.08.28
깊이 우선 탐색(DFS), 너비 우선 탐색(BFS)  (0) 2024.08.26
백트랙킹  (0) 2024.08.18
A* 알고리즘_1(공부중)  (3) 2024.03.25