<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=Shell_sort</id>
	<title>Shell sort - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=Shell_sort"/>
	<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Shell_sort&amp;action=history"/>
	<updated>2026-06-14T02:52:40Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Shell_sort&amp;diff=985&amp;oldid=prev</id>
		<title>Ahn9807: 새 문서: 분류:정렬  == 개요 == 삽입 정렬은 정렬의 편차가 매우 심하다. 좋은 경우 n 만에 수행 하지만 최악의 경우 n^2 이 수행된다. 이 단점을 보완하기 위해서, 배열을 &quot;어느정도&quot; 정렬된 상태로 만들고 삽입 정렬을 시행하는 방식이다. Divide and Conquer의 한 방식으로 우선 배열을 정해진 개수만큼 나눈뒤, 삽입정렬을 수행하고 다시 합치면서 삽입정렬을 수행해 나간다....</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Shell_sort&amp;diff=985&amp;oldid=prev"/>
		<updated>2023-03-24T11:49:36Z</updated>

		<summary type="html">&lt;p&gt;새 문서: &lt;a href=&quot;/noriwiki/index.php?title=%EB%B6%84%EB%A5%98:%EC%A0%95%EB%A0%AC&quot; title=&quot;분류:정렬&quot;&gt;분류:정렬&lt;/a&gt;  == 개요 == 삽입 정렬은 정렬의 편차가 매우 심하다. 좋은 경우 n 만에 수행 하지만 최악의 경우 n^2 이 수행된다. 이 단점을 보완하기 위해서, 배열을 &amp;quot;어느정도&amp;quot; 정렬된 상태로 만들고 삽입 정렬을 시행하는 방식이다. &lt;a href=&quot;/noriwiki/index.php?title=Divide_and_Conquer&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Divide and Conquer (없는 문서)&quot;&gt;Divide and Conquer&lt;/a&gt;의 한 방식으로 우선 배열을 정해진 개수만큼 나눈뒤, 삽입정렬을 수행하고 다시 합치면서 삽입정렬을 수행해 나간다....&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[분류:정렬]]&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
삽입 정렬은 정렬의 편차가 매우 심하다. 좋은 경우 n 만에 수행 하지만 최악의 경우 n^2 이 수행된다. 이 단점을 보완하기 위해서, 배열을 &amp;quot;어느정도&amp;quot; 정렬된 상태로 만들고 삽입 정렬을 시행하는 방식이다. [[Divide and Conquer]]의 한 방식으로 우선 배열을 정해진 개수만큼 나눈뒤, 삽입정렬을 수행하고 다시 합치면서 삽입정렬을 수행해 나간다. &lt;br /&gt;
&lt;br /&gt;
== 알고리즘의 개요 ==&lt;br /&gt;
# 자료리스트를 2차원배열로 나열한다.&lt;br /&gt;
# 각 배열의 열들을 정렬한다.&lt;br /&gt;
&lt;br /&gt;
=== 예제 ===&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#0000FF;&amp;quot;&amp;gt;[2 5 3 4 3 9 3 2 5 4 1 3]&amp;lt;/span&amp;gt;로 리스트가 주어졌을 때 이 리스트를 셸 정렬로 정렬해 보자.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;3행으로구성된 행렬로 나열하여 열단위로 정렬한다.&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 2 5 3 4&lt;br /&gt;
|rowspan=3|&amp;amp;nbsp;&amp;amp;rArr;&amp;amp;nbsp;&lt;br /&gt;
|            2 4 1 2&lt;br /&gt;
|-&lt;br /&gt;
| 3 9 3 2 || 3 5 3 3&lt;br /&gt;
|-&lt;br /&gt;
| 5 4 1 3 || 5 9 3 4&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;정렬된 3행 행렬을 6행렬로 나열하여 마찬가지로 열단위로 정렬한다.&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 2 4&lt;br /&gt;
|rowspan=6|&amp;amp;nbsp;&amp;amp;rArr;&amp;amp;nbsp;&lt;br /&gt;
|        1 2&lt;br /&gt;
|-&lt;br /&gt;
| 1 2 || 2 3&lt;br /&gt;
|-&lt;br /&gt;
| 3 5 || 3 4&lt;br /&gt;
|-&lt;br /&gt;
| 3 3 || 3 4&lt;br /&gt;
|-&lt;br /&gt;
| 5 9 || 3 5&lt;br /&gt;
|-&lt;br /&gt;
| 3 4 || 5 9&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
정렬된 행렬을 한 열단위로 나열해서 [[삽입 정렬]]한다.&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 1 2 2 3 3 4 3 4 3 5 5 9 || &amp;amp;nbsp;&amp;amp;rArr;&amp;amp;nbsp; || 1 2 2 3 3 3 3 4 4 5 5 9&lt;br /&gt;
|}&lt;br /&gt;
이 때, 자료가 멀리 이동될 필요가 없다는 장점이 있다.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
여기서 마지막에는 결국에는 삽입 정렬이 사용된다. 이때 왜? 셸 소트를 사용할까 하는 의문이 발생할 수 있지만, 기본적으로 삽 입정렬은 최선의 경우 성능이 좋다는 데에서 착안하면, 그 전단계는 삽입 정렬의 최선만 사용하면서 정렬해 나가는 과정이 었다 생각하면 된다.&lt;/div&gt;</summary>
		<author><name>Ahn9807</name></author>
	</entry>
</feed>