셸정렬
- 최초 등록일
- 2022.07.24
- 최종 저작일
- 2022.07
- 4페이지/ MS 워드
- 가격 3,000원
소개글
"셸정렬"에 대한 내용입니다.
목차
Ⅰ. 서론
Ⅱ. 본론
1. 셸정렬 정의
2. 셸정렬 과정
3. 셸정렬 알고리즘의 구체적인 개념
4. 예제
5. 셸정렬 알고리즘의 특징
6. 셸정렬의 시간 복잡도
7. 정렬 알고리즘 시간 복잡도 비교
Ⅲ. 결론
Ⅳ. 참고문헌
본문내용
I. 서론
자료구조에 있어 데이터 정렬알고리즘은 매우 중요하다. 여러가지 정렬 알고리즘에서 본 보고서에서는 셸정렬 알고리즘에 대해서 알아보도록 하겠다. 셸정렬 알고리즘은 삽입정렬을 보완한 알고리즘으로서 어느 정도 정렬된 배열에 대해서는 대단히 빠르게 진행할 수 있다는 장점이 있는 알고리즘이다.
II. 본론
1. 셸정렬 정의
- Donald L. Shell이라는 사람이 제안한 방법이다.
- 삽입정렬을 보완한 알고리즘이다.
- 삽입정렬이 어느 정도 정렬된 배열에 대해서는 대단히 빠른 것에 착안
-> 삽입정렬의 최대 문제점 : 요소들이 삽입될 때, 이웃한 위치로만 이동함
-> 삽입되어야 할 위치가 현 위치에서 상당히 멀리 떨어진 곳이라면 많은 이동을 해야 함
-> 삽입정렬과 다르게 셸정렬은 전체 리스트를 한번에 정렬하지 않음
2. 셸정렬 과정
1) 정렬해야 할 리스트를 일정한 기준에 따라 분류
2) 연속적이지 않은 여러 개의 부분 리스트를 생성
3) 각 부분 리스트를 삽입 정렬을 이용하여 정렬
4) 모든 부분 리스트가 정렬되면 다시 전체 리스트를 더 적은 개수의 부분 리스트로 만든 후에 알고리즘을 반복
5) 위의 과정을 부분 리스트의 개수가 1이 될 때까지 반복
참고 자료
https://gmlwjd9405.github.io/2018/05/08/algorithm-shell-sort.html