본문 바로가기

정렬알고리즘4

[알고리즘 이론] 정렬 Sort - 2-4. 비교 기반 알고리즘 (셸 정렬) 정렬 Sort1. 기본 개념2. 비교 기반 알고리즘   1) 선택 정렬   2) 버블 정렬   3) 삽입 정렬   4) 셸 정렬💡예시에 대한 가정- 입력 크기 n- 입력 배열 A[0…. n-1]- 입력 데이터 : 양의 정수- 정렬 방식 : 오름차순 (1, 2, 3, 4,…) 2-3) 셸 정렬 (Shell sort)삽입 정렬의 단점인 “올바른 삽입 위치에서 멀어도 한자리씩 비교하며 이동” 해야하는 과정을 보완멀리 떨어진 데이터와 비교, 교환하여 한번에 이동할 수 있는 거리를 늘림 → 처리 속도 향상삽입 정렬처리해야할 데이터에서 가까운 값과 비교 → 점점 멀리셸 정렬처리해야할 데이터에서 멀리 떨어진 값과 비교 → 점점 가까이입력 배열을 부분배열로 나누어 삽입 정렬을 수행하는 과정을 부분배열의 크기와 개수를.. 2024. 5. 13.
[알고리즘 이론] 정렬 Sort - 2-3. 비교 기반 알고리즘 (삽입 정렬) 정렬 Sort1. 기본 개념2. 비교 기반 알고리즘   1) 선택 정렬   2) 버블 정렬   3) 삽입 정렬   4) 셸 정렬💡예시에 대한 가정- 입력 크기 n- 입력 배열 A[0…. n-1]- 입력 데이터 : 양의 정수- 정렬 방식 : 오름차순 (1, 2, 3, 4,…) 2-3) 삽입 정렬 (Insertion sort)주어진 데이터를 하나씩 뽑은 후, 이미 나열된 데이터들이 항상 정렬된 상태를 갖도록 바른 위치를 찾아 뽑은 데이터를 삽입해서 나열하는 방식 정렬 부분 A[0…k-1] 과 미정렬 부분 A[k…n-1] 으로 구분해서 처리정렬 과정미정렬 부분 A[k…n-1]에서 1번째 데이터를 뽑아정렬 부분 A[0…k-1]에서 올바른 자리에 삽입입력 데이터 A [10, 30, 40, 20, 70, 50, .. 2024. 4. 24.
[알고리즘 이론] 정렬 Sort - 2-2 비교 기반 알고리즘 (버블 정렬) 정렬 Sort1. 기본 개념2. 비교 기반 알고리즘   1) 선택 정렬   2) 버블 정렬   3) 삽입 정렬   4) 셸 정렬💡예시에 대한 가정- 입력 크기 n- 입력 배열 A[0…. n-1]- 입력 데이터 : 양의 정수- 정렬 방식 : 오름차순 (1, 2, 3, 4,…) 2-2) 버블 정렬 (Bubble sort)모든 인접한 두 데이터를 차례로 비교 후,왼쪽 데이터가 더 큰 경우 오른쪽 데이터와 자리를 바꾸는 방식을 반복정렬 과정 : 비교 진행 방향 →, ← 에 따라 비교비교 진행 방향에 따라 정렬 과정이 달라짐 • 왼 → 오 : 큰 값 부터 찾아 오른쪽 끝 부터 위치 (오른쪽 끝부터 정렬)…. • 왼 ← 오: 가장 작은 값부터 찾아 왼쪽 끝부터 위치 (왼쪽 끝부터 정렬) 가장 작은 왼쪽 → 오른쪽.. 2024. 4. 22.
[알고리즘 이론] 정렬 Sort - 2-1. 비교 기반 알고리즘 (선택 정렬) 정렬 Sort1. 기본 개념2. 비교 기반 알고리즘   1) 선택 정렬   2) 버블 정렬   3) 삽입 정렬   4) 셸 정렬💡예시에 대한 가정- 입력 크기 n- 입력 배열 A[0…. n-1]- 입력 데이터 : 양의 정수- 정렬 방식 : 오름차순 (1, 2, 3, 4,…) 2-1) 선택 정렬 (Selection sort)입력 배열에서 가장 작은 값부터 순서대로 선택해서 나열하는 방식정렬 과정📍배열 A = [60, 90, 30, 10] (0단계) 1. 미정렬 부분에서 최솟값을 찾음 = 10 A = [60, 90, 30, 10] 2. 이 최솟값과 미정렬 부분의 첫 번째 데이터[60] 비교 10 과 60 비교 : 10 은 60보다 작다. (조건 만족) A = [60, 90, 30, 10] 3. 조건.. 2024. 4. 18.