정렬 알고리즘3 - 삽입정렬(Insertion Sort)
삽입정렬(Insertion Sort) 작동방식 정렬된 데이터 중에 적절한 위치를 찾아 새로운 값을 넣어주는(삽입) 방식 특징 앞에서부터 차례대로 정렬된다 구현이 간단하다 방식이 단순하고 효율적이다. 버블정렬, 선택정렬 보다 효율이 좋다. 요소가 많을수록 효율이 떨어진다. 실시간 정렬이 가능하다. 정렬할 항목이 계속 추가되더라도 적절한 위치를 찾아 삽입하면 되기 때문. 어느 정도 정렬되어 있는 것을 완전히 정렬하는데 적합한 방식 반대로 역순으로 된 상태를 재정렬하는 경우 약하다 새로 삽입되는 값이 앞쪽에 위치할수록 한칸씩 밀리는 배열값 개수가 많아지기 때문이다. [ 2, 17, 8, 3, 15, 9, 4, 6, 13, 7, 1, 5, 11 ] 와 같은 숫자집합이 있을때 아래와 같은 순서로 정렬된다. 정렬된..
정렬 알고리즘1 - 버블정렬(Bubble Sort)
버블정렬 (Bubble Sort) 작동방식 인접한 두 데이터의 값을 비교해 위치를 맞바꾸는 방식 맞바꾸는 과정이 더이상 필요없을 때까지 반복한다 참고로 버블이라는 명칭은 정렬되는 모습이 버블, 즉 물 속에서 거품처럼 올라오는 모습과 비슷하여 여기서 유래했다고 한다. 마치 맥주 탄산이 올라오는 것 같다. 특징 정렬 방식이 간단하다 위치를 바꾸는 작업이 많아 효율이 좋지않다 데이터의 총 개수 n 이라고 했을때, 비교횟수는 (n-1), (n-2), (n-3), ... , 1 로서 루프를 돌면서 줄어든다 총비교횟수 : n * (n-1) / 2 이다. n제곱만큼 계산량을 가진다 예시 [ 1, 14, 9, 6, 2, 19, 4, 7 ] 와 같은 숫자집합이 있을때 아래와 같은 순서로 정렬된다. 1 9 14 6 2 1..