[알고리즘] 기본 정렬 알고리즘(삽입 정렬, 선택 정렬, 버블 정렬)
·
알고리즘/개념
정렬 알고리즘 이란 - 원소들을 일정한 순서대로 열거하는 알고리즘입니다. - 대표적인 알고리즘에는 아래와 같이 존재합니다. - 병합 정렬, 힙 정렬, 퀵 정렬의 경우 다음 포스팅에서 확인하시면 될 것 같습니다. 삽입 정렬 (Insertion sort) 선택 정렬 (Selection sort) 버블 정렬 (Bubble sort) 병합 정렬 (Merge sort) 힙 정렬 (Heap sort) 퀵 정렬 (Quick sort) 💡삽입 정렬 - 삽입 정렬은 데이터를 하나씩 확인하면서, 각 데이터를 적절한 위치에 삽입 하는 방법입니다. - 선택정렬처럼 동작을 직관적으로 이해하기 쉽지만, 선택정렬보다는 구현 난이도가 높고 실행시간 면에서 더 효율적입니다. i) 삽입 정렬 과정 1) 삽입정렬은 이미 정렬된 영역( ..
[알고리즘] 퀵 정렬
·
알고리즘/개념
퀵 정렬 - 퀵 정렬은 대표적인 분할 정복 알고리즘 중 하나로 평균적으로 가장 빠른 실행 시간을 가지는 정렬 알고리즘 입니다. - 퀵 정렬은 unstable한 알고리즘으로 호출될 때마다 새로운 리스트를 생성하며 리턴하기 때문에 기본적으로는 not-in-place 정렬이기도 하다. - 퀵 정렬은 n개의 데이터를 정렬할 때, 최악의 경우에는 O(n^2)번의 비교를 수행하고, 평균적으로 O(n log n)번의 비교를 수행한다. Unstable 퀵 정렬은 unstable한 알고리즘으로 unstable한 알고리즘이란, 정렬 후 같은 값들의 순서가 원래의 순서와 다를 수 있는 것을 말합니다. 예를 들어, [3, 1, 3, 4, 2]와 같은 배열을 퀵 정렬로 정렬하면 [1,2,3,3,4]와 같이 3이 중복되서 나타나..
yunchan^.^
'삽입 정렬' 태그의 글 목록