선택정렬 개념 해당 순서에 원소를 넣을 위치는 이미 정해져 있고, 어떤 원소를 넣을지 선택하는 알고리즘 최솟값 또는 최댓값을 찾고 남은 정렬 부분의 가장 앞에 있는 데이터와 swap하는 것이 선택정렬의 핵심이다. 첫번째 순서에는 첫번째 위치에 가장 최솟값을 넣는다. 두번째 순서에는 두번째 위치에 남은 값 중에서의 최솟값을 넣는다. 선택정렬 특징 장점 자료의 이동횟수가 미리 결정된다. 단점 시간 복잡도가 n제곱이라 효율적이지 않아코딩 테스트에서는 많이 사용하지 않는다. 안정성을 만족하지 않는다. 즉, 값이 같은 레코드가 있는 경우에 상대적인 위치가 변경될 수 있다. 선택정렬 예제 선택정렬 구현 코드 package org.kyhslam.algo; public class selectSort { public s..
삽입정렬 개념 삽입정렬은 두 번째 자료부터 시작하여 그 앞(왼쪽) 자료들과 비교하여 삽입할 위치를 지정한 후 자료를 뒤로 옮기고 지정한 자리에 자료를 삽입하여 정렬하는 알고리즘 이다. 장점 : 레코드가 이미 정렬되어 있는 경우 매우 효율적이다. 단점 : 비교적 많은 레코드들의 이동을 포함하고 레코드의 수가 클 경우 적합하지 않다. 시간복잡도 : Best T(n) = O(n) , Worst T(n) = O(n^2) 참고 URL : https://www.w3resource.com/csharp-exercises/searching-and-sorting-algorithm/searching-and-sorting-algorithm-exercise-6.php 소스 #include using namespace std; ..