본문 바로가기

정렬

(3)
정렬 알고리즘 (Bubble, Insertion, Selection) Swift Bubble Sort ① 두 인접한 데이터를 비교② 앞에 있는 데이터가 뒤에 있는 데이터보다 크면, 둘의 자리를 바꿔준다 func BubbleSort(_ array: inout [Int]) { let length: Int = array.count - 1 guard length > 1 else { return } for i in 0.. array[j + 1] { array.swapAt(j, j + 1) Swap = true } } if !Swap { break } }}var numArray = [3, 6, 12, 65, 23, 99, 25, ..
알고리즘 - Sort 정렬 (Merge sort, Quick sort), Python 코드 Merge Sort (병합정렬) - 일반적인 방법으로 구현했을 때 이 정렬은 안정정렬에 속하며, 분할 정복 알고리즘 중의 하나이다. - 분할 정복 알고리즘 : 문제를 작은 2개의 문제로 분리하고 각각을 해결한 다음, 결과를 모아서 원래의 문제를 해결하는 전략이다. 대개 순환호출을 이용하여 구현한다. - 하나의 리스트를 두 개의 균등한 크기로 분할하고 분할된 부분 리스트를 정렬한 다음, 두 개의 정렬된 부분 리스트를 합하여 전체가 정렬된 리스트가 되게 하는 방법이다. - 분할(Divide): 입력 배열을 같은 크기의 2개의 부분 배열로 분할한다. - 정복(Conquer): 부분 배열을 정렬한다. 부분 배열의 크기가 충분히 작지 않으면 순환 호출 을 이용하여 다시 분할 정복 방법을 적용한다. - 결합(Com..
알고리즘 - Sort 정렬 (Selection sort, Insertion sort, Bubble sort), Python 코드 Sort (정렬) n개의 숫자가 입력으로 주어졌을 때, 이를 사용자가 지정한 기준에 맞게 정렬하여 출력하는 알고리즘 Sort 알고리즘 종류 Selection sort Insertion sort Bubble sort Merge sort Quick sort 기초적인 정렬 알고리즘 평균적으로 O(n^2)의 시간이 소요되는 정렬 알고리즘 - Selection sort (선택정렬) - Insertion sort (삽입정렬) - Bubble sort (버블정렬) 고급 정렬 알고리즘 평균적으로 O(nlogn)의 시간이 소요되는 정렬 알고리즘 - Merge sort (병합정렬) - Quick sort (퀵정렬) - Heap sort (힙정렬) Selection sort (선택정렬) - 제자리 정렬 알고리즘 - 해당 순..

728x90