기록하는 습관
article thumbnail
정렬 알고리즘 정리(2) - 셸 정렬, 퀵 정렬, 병합 정렬, 힙 정렬
Computer Science/Algorithm 2023. 3. 29. 20:32

📌 셸 정렬 - 셸 정렬(Shell Sort): 삽입 정렬의 장점은 살리고 단점은 보완하여 더 빠르게 정렬하는 알고리즘. 삽입 정렬은 다음과 같은 특징을 갖고 있다. 1. 이미 정렬을 마쳤거나 정렬이 거의 끝나가는 상태에서는 속도가 빠르다. (장점) 2. 삽입할 위치가 멀리 떨어져 있으면 이동 횟수가 많아진다. (단점) 앞에서 말했듯 셸 정렬은 삽입 정렬의 장점은 살리고 단점은 보완한 알고리즘이다. 셸 정렬은 먼저 정렬할 배열의 원소를 그룹으로 나누어 각 그룹별로 정렬을 수행한 뒤, 정렬된 그룹을 합치는 작업을 반복해 원소의 이동 횟수를 줄이는 방법이다. 우선, 삽입 정렬의 경우 '주목한 원소보다 앞 쪽에서 이전의 값들과 비교하며 삽입을 수행'하는 정렬 알고리즘이다. 삽입 정렬의 가장 큰 장점은 '거의 ..

article thumbnail
정렬 알고리즘 정리(1) - 버블 정렬, 선택 정렬, 삽입 정렬
Computer Science/Algorithm 2023. 2. 13. 14:09

📌 정렬 알고리즘 - 정렬 알고리즘 (Sorting Algorithm): 원소들을 번호 순이나 사전 순과 같이 일정한 순서대로 열거하는 알고리즘. - 우리는 일상 속에서 정렬되어 있는 수많은 것들을 접하고 있다. 나의 일상을 예시로 들자면, 개인적으로 아침마다 확인하는 MTS 속에서도 특정한 기준으로 주식 종목들이 정렬되어 있는 것을 확인할 수 있다. 그리고 오후에 코딩테스트 공부를 하기 위해 programmers와 leetcode 사이트를 접속하는데, 사이트에 있는 코딩 문제들도 특정한 기준으로 문제들이 정렬되어 있는 것을 확인할 수 있으며, 저녁 11시에 업데이트 되는 네이버 웹툰에서도 조회순, 남성 인기순 등으로 만화들이 정렬되어 있는 것을 확인할 수 있다. 이렇듯 정렬은 우리의 일상 속에서 흔히 ..