본문 바로가기

알고리즘 공부/알고리즘4

알고리즘 퀵 정렬(Quick Sort) 문제 다음의 숫자들을 오름차순으로 정렬하는 프로그램을 작성하세요. 1 5 8 10 7 6 3 2 9 4 알고리즘 종류 Selection sort (내부 : 교환) Bubble Sort (내부 : 교환) Insertion Sort (내부 : 삽입) Quick Sort (내부 : 교환) Shell Sort (내부 : 삽입) Merge Sort (내부 : 병합) Heap Sort (내부 : 선택) Radix Sort (내부 : 분배) 퀵 정렬 알고리즘이란? 퀵 정렬 알고리즘의 가장 큰 특징은, 이전에 배웠던 선택 정렬, 버블 정렬, 삽입 정렬과 다르게 빠른 알고리즘이라는 것입니다. 퀵 정렬은 '분할 정복' 알고리즘으로 평균 속도가 O(Nlog2N)입니다. - 분할 정복 (divide and conquer)방법.. 2022. 11. 4.
알고리즘 삽입 정렬(Insertion Sort) 문제 다음의 숫자들을 오름차순으로 정렬하는 프로그램을 작성하세요. 1 5 8 10 7 6 3 2 9 4 알고리즘 종류 Selection sort (내부 : 교환) Bubble Sort (내부 : 교환) Insertion Sort (내부 : 삽입) Quick Sort (내부 : 교환) Shell Sort (내부 : 삽입) Merge Sort (내부 : 병합) Heap Sort (내부 : 선택) Radix Sort (내부 : 분배) 삽입 정렬 알고리즘이란? 삽입 정렬은 두 번째 원소부터 시작해서, 그 앞의 원소들과 비교하여 삽입할 위치를 지정한 후 앞의 원소를 뒤로 옮기고 지정한 자리에 원소를 삽입하여 정렬하는 알고리즘이다. 정렬된 부분은 왼쪽, 정렬할 부분을 오른쪽으로 구별을 한다. ex) 10, 7, 6.. 2022. 11. 4.
알고리즘 버블 정렬(Bubble Sort) 문제 다음의 숫자들을 오름차순으로 정렬하는 프로그램을 작성하세요. 1 5 8 10 7 6 3 2 9 4 알고리즘 종류 Selection sort (내부 : 교환) Bubble Sort (내부 : 교환) Quick Sort (내부 : 교환) Insertion Sort (내부 : 삽입) Shell Sort (내부 : 삽입) Merge Sort (내부 : 병합) Heap Sort (내부 : 선택) Radix Sort (내부 : 분배) 가장 작은 값을 선택해서 앞으로 보내는 선택정렬에 이어, 이번시간에는 버블 정렬에 대해 알아보도록 합시다. 버블정렬은 선택 정렬과 기본 개념이 비슷합니다. 인접한 두 숫자를 비교해서, 더 작은 숫자를 앞으로 보내주는 것을 반복하는 정렬입니다. 예를들어 arrpay[5] = {10.. 2022. 11. 4.
알고리즘 기초 및 선택 정렬(Selection Sort) 문제 다음의 숫자들을 오름차순으로 정렬하는 프로그램을 작성하세요. 1 5 8 10 7 6 3 2 9 4 위와 같은 문제에서 가장 직관적인 접근은 숫자들을 정렬하는 것입니다. 정렬알고리즘에는 정말 많은 종류들이 있습니다. 알고리즘 종류 Selection sort (내부 : 교환) Bubble Sort (내부 : 교환) Quick Sort (내부 : 교환) Insertion Sort (내부 : 삽입) Shell Sort (내부 : 삽입) Merge Sort (내부 : 병합) Heap Sort (내부 : 선택) Radix Sort (내부 : 분배) 또한 이 알고리즘 마다 시간 복잡도가 다른데, 시간복잡도는 아래와 같습니다. 시간복잡도 O(n²) : Bubble Sort, Selection Sort, Inser.. 2022. 11. 1.