Algorithms/정렬
-
거품 정렬 (Bubble Sort)Algorithms/정렬 2022. 8. 23. 09:41
정의 거품 정렬은 1번째와 2번째, 2번째와 3번째, 3번째와 4번째, ... 와 같이 인접한 두 원소를 비교하여 정렬한다. 인접한 두 원소끼리 반복적으로 비교하는 모습이 마치 '거품'과 같다고 하여 거품 정렬이라고 이름이 붙여졌다. 1회전을 수행하고 나면 가장 큰 자료가 맨 뒤로 이동하므로, 2회전에서는 맨 끝에 있는 자료는 정렬에서 제외할 수 있다. 마찬가지로 2회전을 수행하고 나면 끝에서 두번째 자료까지는 정렬에서 제외된다. 설명 [5, 4, 3, 2, 1] 위 배열을 오름차순 정렬해보자. 1번째와 2번째를 비교한 후, 2번째 원소가 더 작을 경우 1번째 원소와 교체해 준다. [4, 5, 3, 2, 1] 이번에는 2번째와 3번째를 비교하여 교체해주자. [4, 3, 5, 2, 1] 같은 방식으로 마지..
-
삽입 정렬 (Insertion Sort)Algorithms/정렬 2022. 8. 22. 09:20
정의 2번째 원소부터 시작해서 그 앞의 원소들과 비교하여 삽입할 위치를 지정한 후, 원소를 뒤로 옮기고 지정된 자리에 값을 삽입하는 정렬 알고리즘이다. 선택 정렬 이 원소가 들어갈 자리를 정해두고 해당 자리에 들어올 원소를 찾는 정렬인 것과는 반대로, 삽입 정렬은 원소가 들어갈 자리를 정해두지 않고, 값을 먼저 결정한 다음 해당 값이 들어갈 자리를 앞에서 부터 찾는 알고리즘이다. 즉, 삽입 정렬에서 '삽입'은 값을 특정 자리에 삽입한다는 의미이고, 값이 들어갈 자리를 찾는 알고리즘이라고 생각하면 된다. 설명 [5, 4, 3, 2, 1] 위 배열을 오름차순 정렬해보자. 2번째 원소인 4부터 시작하여 앞 원소들과 대소 비교를 진행한다. 5는 4보다 큰 값이므로 2번째 자리의 원소를 5로 바꿔준다. [5, 5..
-
선택 정렬 (Selection Sort)Algorithms/정렬 2022. 8. 21. 16:14
정의 자리를 정해두고 해당 자리에 들어올 값을 선택하는 알고리즘이다. 선택 정렬의 '선택'은 들어올 값을 선택하는 것이라고 생각하자. 설명 [5, 4, 3, 2, 1] 위 배열을 오름차순 정렬해보자. 자리를 순회하며 해당 자리에 올 값을 찾아 넣는다. 값을 찾는 방법은 해당 자리에 위치해있던 값과 나머지 모든 값을 비교한다. 1. 첫번째 자리에 올 값 선택 오름차순 정렬이니, 첫번째 자리에는 1이 와야한다. 5를 제외한 나머지 모든 수 [4, 3, 2, 1] 을 순회하여 가장 작은 값인 1을 찾아 5와 바꾼다. [1, 4, 3, 2, 5] 2. 두번째 자리에 올 값 선택 두번째 자리에는 두번째로 큰 값인 2가 와야한다. 1과 4를 제외한 나머지 모든 수 [3, 2, 5] 을 순회하여 가장 작은 값이 2를..