๐Ÿ“š CS [ComputerScience]/๐Ÿ“š CS ๋ฉด์ ‘

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [14] [์•Œ๊ณ ๋ฆฌ์ฆ˜]

Dbswnstjd 2024. 3. 8. 17:59

1. ๋™์  ๊ณ„ํš๋ฒ•(DP, Dynamic Programing) ์ด๋ž€ ?

์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด, ๋ฌธ์ œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•˜์œ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ํ‘ธ๋Š” ๋ฐฉ๋ฒ•

๋™์  ๊ณ„ํš๋ฒ•์—์„œ๋Š” ์–ด๋–ค ๋ถ€๋ถ„ ๋ฌธ์ œ๊ฐ€ ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์–ด, ๋‹ต์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๊ณ„์‚ฐํ•˜๋Š” ๋Œ€์‹  ํ•œ ๋ฒˆ๋งŒ ๊ณ„์‚ฐํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์žฌํ™œ์šฉํ•˜๋Š” ๋ฉ”๋ชจ์ด์ œ์ด์…˜(Memoization) ๊ธฐ๋ฒ•์œผ๋กœ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

 

๋™์  ๊ณ„ํš๋ฒ•์ด ๊ฐ–๋Š” 2๊ฐ€์ง€ ์กฐ๊ฑด

1. ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„(์ž‘์€) ๋ฌธ์ œ

์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„ ๋ฌธ์ œ๋Š” ๋‚˜๋ˆ ์ง„ ๋ถ€๋ถ„ ๋ฌธ์ œ๊ฐ€ ์ค‘๋ณต๋˜๋Š” ๊ฒฝ์šฐ๋กœ, ๋ฉ”๋ชจ์ด์ œ์ด์…˜ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด ์ค‘๋ณต ๊ณ„์‚ฐ์„ ์—†์•ค๋‹ค.

 

2. ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ

์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค๋Š” ๊ฒƒ์€ ๋ฌธ์ œ์˜ ์ตœ์ ํ•ด๊ฐ€ ๋ถ€๋ถ„ ๋ฌธ์ œ์˜ ์ตœ์ ํ•ด๋“ค๋กœ์จ ๊ตฌ์„ฑ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

2. ๋ฒ„๋ธ” ์ •๋ ฌ(Bubble Sort) ๋ž€ ?

๋ฒ„๋ธ” ์ •๋ ฌ์€ ์„œ๋กœ ์ธ์ ‘ํ•œ ๋‘ ์›์†Œ๋ฅผ ๋น„๊ตํ•˜์—ฌ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

0๋ฒˆ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ n-1๋ฒˆ ์ธ๋ฑ์Šค๊นŒ์ง€ n๋ฒˆ๊นŒ์ง€์˜ ๋ชจ๋“  ์ธ๋ฑ์Šค๋ฅผ ๋น„๊ตํ•˜์—ฌ ์ •๋ ฌํ•œ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(n^2) ์ด๋‹ค.

https://dev-coco.tistory.com/160

 

2. ์„ ํƒ ์ •๋ ฌ(Selection Sort) ์ด๋ž€ ?

์„ ํƒ ์ •๋ ฌ์€ ์ฒซ ๋ฒˆ์งธ ๊ฐ’์„ ๋‘๋ฒˆ์งธ ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๊ฐ’๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ ๋น„๊ตํ•˜์—ฌ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ์•„ ์ฒซ ๋ฒˆ์งธ์— ๋†“๊ณ , ๋‘ ๋ฒˆ์งธ ๊ฐ’์„ ์„ธ ๋ฒˆ์งธ ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๊ฐ’๊นŒ์ง€ ๋น„๊ตํ•˜์—ฌ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ์•„ ๋‘ ๋ฒˆ์งธ ์œ„์น˜์— ๋†“๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(n^2) ์ด๋‹ค.

https://dev-coco.tistory.com/160

 

์ถœ์ฒ˜: https://dev-coco.tistory.com/160