์ฝ์ ์ ๋ ฌ(Insertion Sort) ์๊ณ ๋ฆฌ์ฆ
์ฝ์ ์ ๋ ฌ(Insertion Sort)์ด๋? ์๋ฃ ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ์์์๋ถํฐ ์ฐจ๋ก๋๋ก ์ด๋ฏธ ์ ๋ ฌ๋ ๋ฐฐ์ด ๋ถ๋ถ๊ณผ ๋น๊ตํ์ฌ, ์์ ์ ์์น๋ฅผ ์ฐพ์ ์ฝ์ ํจ์ผ๋ก์จ ์ ๋ ฌ์ ์์ฑํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ์ฝ์ ์ ๋ ฌ์ ์๊ฐ ๋ณต์ก๋๋ O(n2)์ด๋ฉฐ ์์ ์ ๋ ฌ์ ๋๋ค. ๋ํ ๋ฐฐ์ด์ด ๊ธธ์ด์ง์๋ก ํจ์จ์ด ๋งค์ฐ ๋จ์ด์ง์ง๋ง ๊ตฌํ์ด ๊ฐ๋จํ๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. ์ฝ์ ์ ๋ ฌ์ ์ ์ฝ์ ์ ๋ ฌ์ ์ ๋๋ฉ์ด์ ย -Simpsons contributor- ์ฝ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๊ธฐ ์ ์ ์์ฌ์ฝ๋(Pseudocode)๋ก ๋จผ์ ์ดํด๋ฅผ ํ๊ณ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๋ ์ฝ๊ฒ ์์ฑํ ์ ์์ ๊ฒ์ ๋๋ค. Pseudocode : 1 2 3 4 5 6 7 8 9 //InsertionSortย pseudoย code InsertionSort(A,n)ย //ย sortย A[1...n] forย jย <-ย 2ย toย n doย keyย <-ย A[j] iย <-ย j-1 whileย i>0ย andย A[i]>key doย A[i+1]ย <-ย A[i] iย <-ย i-1 A[i+1]ย <-ย key C์ฝ๋ : ...