๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿ’ป Computer Science191

[์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก ] ํ€ต ์ •๋ ฌ (Quick Sort) ํ€ต ์†ŒํŠธ(Quick Sort)๋ž€? ํ€ต ์ •๋ ฌ์€ ํ‰๊ท ์ ์œผ๋กœ ๊ฐ€์žฅ ์ข‹์€ ์„ฑ๋Šฅ์„ ๊ฐ€์ ธ ํ˜„์žฅ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋ฐ”๋กœ ์˜ˆ๋กœ ์„ค๋ช…์„ ํ•˜์ž๋ฉด ์ •๋ ฌํ•  ๋ฐฐ์—ด A={31,11,2,6,9} ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ๋•Œ ๊ธฐ์ค€ ์›์†Œ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ทธ ๊ฐ’๋ณด๋‹ค ํฐ ์›์†Œ๋Š” ๋’ค์—, ์ž‘์€ ์›์†Œ๋Š” ์•ž์— ๋ฐฐ์น˜๋ฅผ ํ•˜๋Š” ์‹์œผ๋กœ ์ •๋ ฌ์ด ์ด๋ฃจ์–ด์ง„๋‹ค. ๊ธฐ์ค€ ์›์†Œ๋ฅผ ์žก๋Š”๋‹ค. ๊ธฐ์ค€ ์›์†Œ์˜ ์™ผ์ชฝ์€ ๊ธฐ์ค€ ์›์†Œ๋ณด๋‹ค ์ž‘์€ ๊ฐ’, ์˜ค๋ฅธ์ชฝ์€ ๊ธฐ์ค€ ์›์†Œ๋ณด๋‹ค ํฐ ๊ฐ’. ์™ผ์ชฝ์— ๋Œ€ํ•ด์„œ๋„ ์žฌ๊ท€ํ˜ธ์ถœ์„ ์‹คํ–‰ํ•œ๋‹ค. ์˜ค๋ฅธ์ชฝ์— ๋Œ€ํ•ด์„œ๋„ ์žฌ๊ท€ํ˜ธ์ถœ์„ ์‹คํ–‰ํ•œ๋‹ค. 1๋ผ์šด๋“œ ๊ธฐ์ค€ ์›์†Œ๋ฅผ ์žก๋Š”๋‹ค -> ๊ธฐ์ค€์›์†Œ: 9 -> ๊ธฐ์ค€์›์†Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ A[0]๋ถ€ํ„ฐ ๊ฐ’์„ ๋น„๊ตํ•˜๋ฉฐ ์žฌ๋ฐฐ์น˜ ํ•œ๋‹ค. -> A={2, 6, 9, 31, 11}; 2๋ผ์šด๋“œ ๊ธฐ์ค€ ์›์†Œ๋ฅผ ์žก๋Š”๋‹ค -> ๊ธฐ์ค€์›์†Œ: 11 -> ๊ธฐ์ค€.. 2019. 11. 23.
[์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก ] ๋ณ‘ํ•ฉ ์ •๋ ฌ(Merge Sort) ๋ณ‘ํ•ฉ ์ •๋ ฌ(Merge Sort)๋ž€? ๋ณ‘ํ•ฉ์ •๋ ฌ์€ ์•ž์„œ ์„ค๋ช…ํ•œ ์„ ํƒ ์ •๋ ฌ, ๋ฒ„๋ธ” ์ •๋ ฌ, ์‚ฝ์ž… ์ •๋ ฌ๊ณผ๋Š” ๋น„๊ต ํ•  ์ˆ˜ ์—†๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„์ธ O(n log n)์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ํ˜„๋Œ€์˜ ์ปดํ“จํ„ฐ ๊ฐœ๋…์˜ ์‹œ์ดˆ๊ฐ€ ๋˜์—ˆ๋–ค ํฐ ๋…ธ์ด๋งŒ(John von Neumann)์ด ์ œ์•ˆํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์žฌ๊ท€ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ ฌ์˜ ํšจ์œจ์„ ๊ทน๋Œ€ํ™” ์‹œ์ผฐ๋‹ค. ๊ณผ์ • ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฐฐ์—ด์„ ์ ˆ๋ฐ˜์œผ๋กœ ์ž˜๋ผ ๋น„์Šทํ•œ ํฌ๊ธฐ์˜ ๋‘ ๋ถ€๋ถ„์˜ ๋ฐฐ์—ด์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. ๊ฐ ๋ถ€๋ถ„ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ 0์ด ๋  ๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๊ณ  0์ด ๋˜๋ฉด ๊ฐ ๋ถ€๋ถ„์„ ์žฌ๊ท€์ ์œผ๋กœ ํ•ฉ์น˜๋Š” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ํ•ฉ์น˜๋Š” ๊ณผ์ •์ด ์ˆ˜ํ–‰๋  ๋•Œ ์‹ค์งˆ์  ์ •๋ ฌ์ด ์ด๋ฃจ์–ด์ง„๋‹ค. ์ด๋Ÿฐ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜๋ฉด ๋‹จ๊ณ„๋ฅผ ์„ธ ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. 1. ๋ถ„ํ•  : ์ž…๋ ฅ ๋ฐฐ์—ด์„ ๊ฐ™์€ ํฌ๊ธฐ์˜ 2 ๊ฐœ์˜ ๋ถ€๋ถ„ ๋ฐฐ์—ด๋กœ ๋ถ„ํ• ํ•œ๋‹ค.. 2019. 11. 23.
[์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก ] ์‚ฝ์ž… ์ •๋ ฌ (Insertion Sort) ์‚ฝ์ž… ์ •๋ ฌ(Insertion Sort) ์ด๋ž€? ์ด๋ฏธ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” i๊ฐœ ์งœ๋ฆฌ์˜ ๋ฐฐ์—ด์— ํ•˜๋‚˜์˜ ์›์†Œ๋ฅผ ๋” ๋”ํ•˜์—ฌ ์ •๋ ฌ๋œ i+1 ๊ฐœ์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์„ A[n] ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋‹ค. ์ฐจ์ด์ ์ด ์žˆ๋‹ค๋ฉด ์ง€๊ธˆ๊นŒ์ง€ ํ–ˆ๋˜ ์„ ํƒ ์ •๋ ฌ ์ด๋‚˜ ๋ฒ„๋ธ” ์ •๋ ฌ์€ n ๊ฐœ์˜ ๋ฐฐ์—ด์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ํ•˜๋‚˜์”ฉ ์›์†Œ๋ฅผ ์ค„์ด๋Š”๋ฐ ๋ฐ˜ํ•˜์—ฌ ์‚ฝ์ž… ์ •๋ ฌ์€ ๊ทธ ํฌ๊ธฐ๋ฅผ ํ•˜๋‚˜์”ฉ ๋Š˜๋ฆฌ๋Š” ์ •๋ ฌ์ด๋‹ค. ํ•˜์ง€๋งŒ ์„ ํƒ ์ •๋ ฌ์ด๋‚˜ ๋ฒ„๋ธ” ์ •๋ ฌ์— ๋น„ํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๊ธฐ ์กฐ๊ธˆ ๊นŒ๋‹ค๋กญ๋‹ค๋Š” ์ ์ด ์žˆ๋‹ค. ๋ฐฑ๋ฌธ์ด ๋ถˆ์—ฌ์ผํƒ€ ๋ผ๊ณ  pseudo ์ฝ”๋“œ๋ฅผ ํ•œ ๋ฒˆ ๊ฐ€๋ณ๊ฒŒ ๋ณด๊ณ  ์ง์ ‘ ์ƒ๊ฐํ•ด๋ณด์ž. insertionSort(A[], n){ .... 1 for i A[i-1] ์ด๋ฉด A[i]๋Š” A[1..i-1] ์˜ ๋ชจ๋“  ์›์†Œ๋ณด๋‹ค ํฌ๋ฏ€๋กœ ๊ทธ๋ƒฅ ์ œ์ž๋ฆฌ์— ๋‘๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ ์™ผ์ชฝ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ A[i].. 2019. 11. 23.
[์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก ] ๋ฒ„๋ธ” ์ •๋ ฌ (Bubble Sort) ๋ฒ„๋ธ” ์ •๋ ฌ (Bubble Sort)์ด๋ž€? ๋ฒ„๋ธ” ์ •๋ ฌ์€ ์ธ์ ‘ํ•œ ๋‘ ์›์†Œ๋ฅผ ๋น„๊ตํ•˜์—ฌ ํฐ/์ž‘์€ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž๋ฆฌ๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋œปํ•œ๋‹ค. ์„ ํƒ์ •๋ ฌ๊ณผ ๊ฐ™์ด ์ œ์ผ ํฐ ์›์†Œ๋ฅผ ๋์ž๋ฆฌ๋กœ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๋Š”๋ฐ ์ œ์ผ ํฐ ์›์†Œ๋ฅผ ์˜ฎ๊ธฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. ๋ฒ„๋ธ”์ •๋ ฌ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด. ๋ผ์šด๋“œ์˜ ์ˆœ์„œ๋ณ„๋กœ ์ž„์˜์˜ ํฌ์ธํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด ๋’ท ๊ฐ’๊ณผ ๋น„๊ต๋ฅผ ํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ๋งŒ์•ฝ ๋’ท ๊ฐ’๋ณด๋‹ค ํฌ๊ฒŒ๋˜๋ฉด ์ž๋ฆฌ๋ฅผ ์˜ฎ๊ฒจ ๊ทธ ๋‹ค์Œ ๊ฐ’๊ณผ ๋น„๊ตํ•˜๊ณ  ํฌ์ง€ ์•Š๋‹ค๋ฉด ํฌ์ธํ„ฐ๋ฅผ ๋’ค๋กœ ๋„˜๊ฒจ ํฌ์ธํ„ฐ๊ฐ€ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฐฐ์—ด์˜ ๋๊นŒ์ง€ ๋„๋‹ฌํ–ˆ์„ ๋•Œ ํ•œ ๋ผ์šด๋“œ๊ฐ€ ์ข…๋ฃŒ๋œ๋‹ค. pseudo ์ฝ”๋“œ๋ฅผ ๋จผ์ € ๋ณด์ž๋ฉด bubbleSort(A[], n){ .... 1 for last 7๊ณผ 22์ค‘ 22๊ฐ€ ๋” ํฌ๋ฏ€๋กœ ํฌ์ธํ„ฐ๋ฅผ 22๋กœ ์˜ฎ๊ธด๋‹ค. ๊ฒฐ๊ณผ: {7,.. 2019. 11. 23.
[์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก ] ์„ ํƒ ์ •๋ ฌ(Selection Sort) ์„ ํƒ ์ •๋ ฌ(Selection Sort) ์ด๋ž€? ์„ ํƒ์ •๋ ฌ์€ ๊ฐ€์žฅ ์›๋ฆฌ๊ฐ€ ๊ฐ„๋‹จํ•˜๋ฉด์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํšจ์œจ๋กœ ๋ดค์„๋•Œ ๊ฒฐ์ฝ” ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋กœ ๋ณผ ์ˆ˜ ์—†๋‹ค.(์‹œ๊ฐ„ ๋ณต์žก๋„๋กœ ๋ณธ๋‹ค๋ฉด) ์›๋ฆฌ๋Š” ๋ฐฐ์—ด ์›์†Œ์—๊ฐ€ ๊ฐ€์žฅ ํฐ/์ž‘์€ ์ˆ˜๋ฅผ ๋ฐฐ์—ด์˜ ๋์œผ๋กœ ๋ณด๋‚ด๋Š” ์ž‘์—…์„ ๊ณ„์† ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์„ ํƒ์ •๋ ฌ์—๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•˜๊ณ  ์ •๋ ฌ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋˜ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰˜๊ฒŒ ๋œ๋‹ค. ์ตœ๋Œ€ ์„ ํƒ ์ •๋ ฌ(์˜ค๋ฆ„์ฐจ์ˆœ) : ํฐ ์ˆ˜๋ฅผ ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์— ์œ„์น˜์‹œํ‚ค๊ณ  ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ 1์”ฉ ์ค„์ด๋Š” ๋ฐฉ๋ฒ• ์ตœ๋Œ€ ์„ ํƒ ์ •๋ ฌ(๋‚ด๋ฆผ์ฐจ์ˆœ) : ์ž‘์€ ์ˆ˜๋ฅผ ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์— ์œ„์น˜์‹œํ‚ค๊ณ  ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ 1์”ฉ ์ค„์ด๋Š” ๋ฐฉ๋ฒ• ์ตœ์†Œ ์„ ํƒ ์ •๋ ฌ(์˜ค๋ฆ„์ฐจ์ˆœ) : ์ž‘์€ ์ˆ˜๋ฅผ ๊ฐ€์žฅ ์™ผ์ชฝ์— ์œ„์น˜์‹œํ‚ค๊ณ  ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ 1์”ฉ ๋Š˜๋ฆฌ๋Š” ๋ฐฉ๋ฒ• ์ตœ์†Œ ์„ ํƒ ์ •๋ ฌ(๋‚ด๋ฆผ์ฐจ์ˆœ) : ํฐ ์ˆ˜๋ฅผ ๊ฐ€์žฅ ์™ผ์ชฝ์— ์œ„์น˜์‹œํ‚ค๊ณ  ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค.. 2019. 11. 23.