본문 바로가기

알고리즘

(26)
2강 - 버블 정렬 (Bubble Sort) 1. 버블 정렬 (오름차순을 기준) 1) 정의 앞에서부터 서로 인접한 두 원소를 검사하여 정렬(바로 그 뒤로 보낸다.) 2) 특징 1> 방향 - 선택 정렬: (0~N-1) -> (1~N-1) -> (2~N-1) -> ... -> (N-1) - 버블 정렬: (0~N-1) -> (0~N-2) -> (0~N-3) -> ... -> (0~1) (둘 다 정렬에서 제외되는 data가 하나씩 늘어간다.) 2. 구체적인 과정 (오름차순 기준) 1> 0번째 index부터 바로 1번째 index(오른쪽)와 비교해서 교체한다. (큰 data를 뒤로 보낸다.) 2> 1번째 index도 바로 옆이랑 위의 과정을 진행한다. ... N-2번째까지 진행한다. 3> 1> ~ 2> 를 (0~N-1) -> (0~N-2) -> (0~N-3..
1강 - 선택 정렬 (Selection Sort) 1. 선택 정렬 1) 정의 첫 번째 자료를 두 번째 자료부터 마지막 자료까지 차례대로 비교하여 가장 작은 값을 찾아 첫 번째에 놓고, 두 번째 자료를 세 번째 자료부터 마지막 자료까지와 차례대로 비교하여 그 중 가장 작은 값을 찾아 두 번째 위치에 놓는 과정을 반복하며 정렬을 수행한다. 2) 특징 1> 제자리 정렬 (in-place sorting) -> 다른 추가 메모리를 요구하지 않음 2. 구체적인 과정 1> 주어진 array 전체(0~MAX)에서 가장 작은 원소를 찾는다. 2> '그 작은 원소'와 'array에서 0번째 원소'를 교체한다. 3> 1>~2>를 1번째 원소부터 마지막 원소까지의 범위에서 시행 4> 이를 하나의 원소만 남을 때까지 반복 3. 구현 1) 기본 구현 #include using ..