정렬 알고리즘 (3) - 병합정렬, 힙정렬
·
Algorithm/자료구조와 함께 배우는 알고리즘
지금까지 여러 검색 알고리즘을 배우며 그동안 배웠던 방법이 헷갈리기 시작했다. 그래서 지금까지 배웠던 내용을 다시 한 번 복습해봤다. 위 세가지 알고리즘은 간단하지만 비교적 좋지 못한 알고리즘이고 아래 알고리즘은 복잡하지만 효율적인 알고리즘이다. 버블정렬 : 두 이웃한 원소끼리 대소 비교 반복 단순 선택 정렬 : 배열의 가장 작은값을 0번 인덱스부터 채워나가는 것 단순 삽입 정렬 : 배열의 1번 인덱스를 기준으로 왼쪽의 (작은쪽) 값과 비교해나가며 맞는 자리를 찾아가는 방법 셸정렬 : 단순 삽입 정렬의 상위호환. 배열의 몇 칸 이라는 기준을 두어 값을 비교해 미리 어느정도 정렬을 해놓음 퀵정렬 : 피벗값을 기준으로 배열을 나누어 배열의 인덱스가 1개밖에 없을 때 까지 나눈 후 병합한다. 병합정렬 : 배열..