본문 바로가기

Computer Science/Algorithm2

[알고리즘] 선택정렬(Selection Sort) 선택정렬(Selection Sort) 선택정렬(Selection Sort)은 데이터 집합에서 왼쪽 인덱스부터 정렬될 값과 해당 위치에 있는 값을 교환하며 정렬을 수행한다. - 이미 제자리에 있어도 비교를 수행한다. - O(n²)의 시간 복잡도를 갖는다. 기본 동작 과정 배열에 저장된 값을 오름차순 정렬으로 할 때 다음과 같은 동작 과정을 수행한다. ① 배열의 왼쪽부터 배열의 끝까지 비교를 수행한다. ② 비교를 수행하던 중 비교하는 값이 비교할 값 보다 작은경우 해당 인덱스를 기억한다. ③ 배열의 끝까지 비교를 수행했을때 기억해둔 인덱스의 요소 값과 비교하는 값을 교환한다. ④ 배열의 마지막 인덱스까지 비교하면 맨 첫 번째 값은 정렬된 상태이다. 1회 ⑤ 모든 값이 정렬될 때까지 과정 ①, ②, ③ 반복 .. 2017. 1. 20.
[알고리즘] 버블 정렬(Bubble Sort) 버블 정렬(Bubble Sort) 버블 정렬(Bubble Sort)은 데이터 집합을 순회하면서 집합 내의 이웃 요소들끼리의 교환을 통해 정렬을 수행한다. - 코드 구현이 간단하다. - O(n²)의 시간 복잡도를 갖는다. 기본 동작 과정 배열에 저장된 값을 오름차순 정렬으로 할 때 다음과 같은 동작 과정을 수행한다. ① 배열의 첫 번째 값(비교할 값)과 두 번째 값(비교되는 값)을 비교한다. ② 비교되는 값이 더 작으면 교환한다. ③ 배열의 시작 인덱스를 하나 증가하여 과정 ① 반복한다. ④ 배열의 마지막 인덱스까지 비교하면 맨 마지막 값은 정렬된 상태이다. 1회 ⑤ 모든 값이 정렬될 때까지 과정 ①, ②, ③, ④ 반복한다. 2회 3회 4회 최종 알고리즘 분석 버블 정렬의 복잡도는 항상 O( n² )의 .. 2016. 12. 30.