본문 바로가기

sort2

[알고리즘] 선택정렬, 셀렉션소트 (Selection Sort) 선택정렬, 셀렉션소트 (Selection Sort) 1. 주어진 배열에서 최솟값을 찾아 맨 앞에 위치한 값과 SWAP한다. 2. 다음 수행시에 처음 위치의 값을 제외한 나머지 값들을 1번을 수행한다. 장점: 자료 이동 횟수가 미리 결정된다. 단점: 값이 같은 레코드가 있는 경우 상대적인 위치가 변경될 수 있다. 비교회수: 외부 루프: (n-1)번 내부 루프: n-1, n-2, ..., 2, 1번 교환회수: 외부 루프의 실행 회수와 동일 SWAP을 위한 3번의 이동이 필요 영상으로 보기 - Folk Dance Python Code def selection_sort(arr): arr_len = range(len(arr)) for i in arr_len: min_idx = i arr_sub_len = rang.. 2019. 8. 7.
[알고리즘] 거품정렬, 버블 소트(Bubble sort) 거품정렬, 버블소트 (Bubble Sort) 인접한 두 원소를 비교하여 정렬하는 알고리즘. 두 원소의 순서가 정렬되어 있지 않을 경우 두 원소를 swap한다. 1회전 수행 후 가장 큰 값이 뒤로가므로 2회전 때는 맨 끝에 있는 자료는 정렬에서 제외한다. 비교회수: n-1, n-2, ..., 2, 1 번 = n(n-1)/2 교환회수: 입력 자료가 역순으로 정렬되어 있는 최악의 경우, 한 번 교환하기 위하여 3번의 이동(SWAP 함수의 작업)이 필요하므로 (비교 횟수 * 3) 번 = 3n(n-1)/2 입력 자료가 이미 정렬되어 있는 최상의 경우, 자료의 이동이 발생하지 않는다. T(n) = O(n^2) 영상으로 보기 - Folk Dance Bubble-sort with Hungarian ("Csángó") .. 2019. 8. 6.