Insert Sort Bubble Sort - accidentlywoo/legacyVue GitHub Wiki

Insert Sort / Bubble Sort


1. Insertion Sort

Space - Complexity = In - Place Sort : O(1)์˜ ๋ณด์กฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. Time - Complexity = O(n^2)

์›๋ฆฌ

n๊ฐœ์˜ ์›์†Œ๋ฅผ ๊ฐ€์ง„ ๋ฐฐ์—ด์„ ์ •๋ ฌํ•  ๋•Œ, i๋ฒˆ์งธ๋ฅผ ์ •๋ ฌ ์ˆœ์„œ๋ผ๊ณ  ๊ฐ€์ •ํ•˜๋ฉด,0๋ถ€ํ„ฐ i-1๊นŒ์ง€์˜ ์›์†Œ๋“ค์€ ์ •๋ ฌ๋˜์–ด์žˆ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์—, i๋ฒˆ์งธ ์›์†Œ๋กธ i-1 ๋ฒˆ์งธ ์›์†Œ๋ถ€ํ„ฐ 0๋ฒˆ์งธ ์›์†Œ๊นŒ์ง€ ๋น„๊ตํ•˜๋ฉด์„œ i๋ฒˆ์งธ ์›์†Œ๊ฐ€ ๋น„๊ตํ•˜๋Š” ์›์†Œ๋ณด๋‹ค ํด ๊ฒฝ์šฐ ์„œ๋กœ์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊พธ๊ณ , ์ž‘์„ ๊ฒฝ์šฐ ์œ„์น˜๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ๋‹ค์Œ ์ˆœ์„œ(i+1)์˜ ์›์†Œ์™€ ๋น„๊ตํ•˜๋ฉด์„œ ์ •๋ ฌํ•ด์ค€๋‹ค. ์ด ๊ณผ์ •์„ ์ •๋ ฌํ•˜๋ ค๋Š” ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์›์†Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์ค€๋‹ค.

C code ` void insertion_sort(int*arr,int size){ int temp; int j;

for(int i = 1;i < size; i++){ temp = arr[i]; for(j = 1-1; j >=0; j--){ if(temp < arr[j]){ arr[j + 1] = arr[j]; }else{ break; } } arr[j + 1] = temp; } } `

2. Bubble Sort

Space - Complexity = In-place Sort:O(1)์˜ ๋ณด์กฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. Time - Complexity = O(n^2)

์›๋ฆฌ

์ธ์ ‘ํ•œ ๋‘ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตํ•ด๊ฐ€๋ฉด์„œ ์ •๋ ฌ์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ๋ฐฐ์—ด์˜ ๋งจ ๋์—๋‹ค ์ด๋™์‹œํ‚ค๋ฉด์„œ n๋ฒˆ์„ ๋‘ ๋ฒˆ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋œ๋‹ค.

C Code ` void bubble_sort(int*arr, int size){ for(int j = 0; j < size -1; j++){ for(int i = 0; i < (size-j)-1;i++){ if(arr[i] > arr[i+1]){ swapValue(&arr[i], &arr[i+1}); } } } }

//util - swap void swapValue(int *a,int *b){ int temp = *a; *a = *b; *b = temp; } ` ์ž๋ฐ”์ฝ”๋“œ๋กœ ์งœ๋ณด์ž!