Search

์‚ฝ์ž…์ •๋ ฌ

public class InsertionSort { public static void insertionSort(int[] arr) { int n = arr.length; for (int i = 1; i < n; i++) { int key = arr[i]; int j = i - 1; // key๋ณด๋‹ค ํฐ ์›์†Œ๋“ค์„ ๋’ค๋กœ ์ด๋™ while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j = j - 1; } arr[j + 1] = key; } } // ๋ฐฐ์—ด ์ถœ๋ ฅ์„ ์œ„ํ•œ ๋ฉ”์†Œ๋“œ public static void printArray(int[] arr) { for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } System.out.println(); } // ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋ฉ”์ธ ๋ฉ”์†Œ๋“œ public static void main(String[] args) { int[] arr = {64, 34, 25, 12, 22, 11, 90}; System.out.println("์ •๋ ฌ ์ „ ๋ฐฐ์—ด:"); printArray(arr); insertionSort(arr); System.out.println("์ •๋ ฌ ํ›„ ๋ฐฐ์—ด:"); printArray(arr); } }
Java
๋ณต์‚ฌ

์‹œ๊ฐ„๋ณต์žก๋„ ๋ถ„์„

์‚ฝ์ž… ์ •๋ ฌ์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:
โ€ข
์ตœ์„ ์˜ ๊ฒฝ์šฐ: O(n) - ๋ฐฐ์—ด์ด ์ด๋ฏธ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ
โ€ข
ํ‰๊ท ์˜ ๊ฒฝ์šฐ: O(nยฒ)
โ€ข
์ตœ์•…์˜ ๊ฒฝ์šฐ: O(nยฒ) - ๋ฐฐ์—ด์ด ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ
์‹œ๊ฐ„๋ณต์žก๋„ O(nยฒ)๊ฐ€ ๋‚˜์˜ค๋Š” ๊ณผ์ •:
โ€ข
์™ธ๋ถ€ ๋ฃจํ”„๋Š” n-1๋ฒˆ ์‹คํ–‰ (i๋Š” 1๋ถ€ํ„ฐ n-1๊นŒ์ง€)
โ€ข
๋‚ด๋ถ€ ๋ฃจํ”„๋Š” ์ตœ์•…์˜ ๊ฒฝ์šฐ i๋ฒˆ ์‹คํ–‰
โ€ข
๋”ฐ๋ผ์„œ ์ด ๋น„๊ต ํšŸ์ˆ˜๋Š”: 1 + 2 + 3 + ... + (n-1) = n(n-1)/2
n(nโˆ’1)2=n22โˆ’n2\frac{n(n-1)}{2} = \frac{n^2}{2} - \frac{n}{2}
๋”ฐ๋ผ์„œ ๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ O(nยฒ)๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๊ณต๊ฐ„๋ณต์žก๋„

์‚ฝ์ž… ์ •๋ ฌ์˜ ๊ณต๊ฐ„๋ณต์žก๋„๋Š” O(1)์ž…๋‹ˆ๋‹ค. ์ฃผ์–ด์ง„ ๋ฐฐ์—ด ๋‚ด์—์„œ ์ •๋ ฌ์ด ์ˆ˜ํ–‰๋˜๋ฉฐ, ์ถ”๊ฐ€์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŠน์ง•

โ€ข
์•ˆ์ •์„ฑ: ์•ˆ์ • ์ •๋ ฌ (๊ฐ™์€ ๊ฐ’์„ ๊ฐ€์ง„ ์›์†Œ๋“ค์˜ ์ƒ๋Œ€์  ์œ„์น˜๊ฐ€ ๋ณด์กด๋จ)
โ€ข
์ œ์ž๋ฆฌ ์ •๋ ฌ: ์ถ”๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๊ฑฐ์˜ ํ•„์š”ํ•˜์ง€ ์•Š์Œ
โ€ข
์ ์‘ํ˜• ์ •๋ ฌ: ์ด๋ฏธ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋งค์šฐ ํšจ์œจ์ 
โ€ข
์˜จ๋ผ์ธ ํŠน์„ฑ: ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ๋ฐ›์•„์„œ ์ •๋ ฌ ๊ฐ€๋Šฅ
์‚ฝ์ž… ์ •๋ ฌ์€ ์ž‘์€ ๋ฐ์ดํ„ฐ์…‹์ด๋‚˜ ๊ฑฐ์˜ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ํšจ์œจ์ ์ด๋ฉฐ, ์‹ค์ œ๋กœ ๋งŽ์€ ๊ณ ๊ธ‰ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๋ณด์กฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.