Algorithm๐Ÿค/์•Œ๊ณ ๋ฆฌ์ฆ˜

์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์ ํ™”์‹์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ํ•™์Šตํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์–ด๋– ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ผ๋งˆ๋‚˜ ํšจ์œจ์ ์ธ์ง€ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋“ค์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ ํ™”์‹์ด๋ž€ ์–ด๋–ค ํ•จ์ˆ˜๋ฅผ ์ž์‹ ๋ณด๋‹ค ๋” ์ž‘์€ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ํ•จ์ˆ˜์™€์˜ ๊ด€๊ณ„๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด f(n) = n * f(n - 1) f(n) = f(n - 1) + f(n - 2) ๋“ฑ์„ ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ๋ณ‘ํ•ฉ ์ •๋ ฌ์„ ํ•œ ๋ฒˆ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. mergeSort(A[], p, r) { if(p < r) { q = (p + r) / 2; mergeSort(A, p, q); mergeSort(A, p + 1, r); merge(A, p, q, r); } } merge(A[], p, q, r) { ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ๋‘ ๋ฐฐ์—ด A[p ...
๋™์  ๊ณ„ํš๋ฒ• ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์†Œ๋ฌธ์ œ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ๊ฐ ์†Œ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ์•ˆ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ, ์ด๋•Œ ๊ฐ ์†Œ๋ฌธ์ œ๋Š” ๋‹ค์‹œ ๋˜ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์†Œ๋ฌธ์ œ๋กœ ๋ถ„ํ•  ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฐ ์†Œ๋ฌธ์ œ๋Š” ์›๋ž˜ ์ฃผ์–ด์ง„ ๋ฌธ์ œ์™€ ๋™์ผํ•œ ๋ฌธ์ œ์ด์ง€๋งŒ ์ž…๋ ฅ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์†Œ๋ฌธ์ œ๋กœ ๋ถ„ํ• ํ•˜์—ฌ...??? ์‘?? DP๋ฅผ ์ฒ˜์Œ ๊ณต๋ถ€ํ•˜์‹ ๋‹ค๋ฉด ์ด๊ฒŒ ๋ฌด์Šจ ๋ง์ด์ง€? ์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ ๊ฐ€์‹ค ์ˆ˜ ์žˆ์œผ์‹ค ํ…๋ฐ์š”. ๊ทธ๋ž˜์„œ ํ•˜๋‚˜์˜ ์ข‹์€ ์˜ˆ์‹œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค ใ…Žใ…Ž ๋ฐ”๋กœ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์ธ๋ฐ์š”. ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋Š” 1, 1, 2, 3, 5, 8... ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ํ™”์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ด๋Ÿฐ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ„ํ•ดํ•ด์„œ ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ด ๋ณด๋ฉด, ์†Œ๋ฌธ์ œ๊ฐ€ ์ƒ์œ„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ง์ด ์ฆ‰, ์œ„์—์„œ ์„ค๋ช…ํ•œ "..
1. ์•„๋ž˜ ๋ฌธ์ œ์— ๋Œ€ํ•œ recursive algorithm ์„ ์„ค๊ณ„ํ•˜๊ณ  ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๋ถ„์„ํ•˜์„ธ์š” (๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ ๊ธˆ์ง€ , ์žฌ๊ท€ํ˜ธ์ถœ๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ) • ๋ฐฐ์—ด์—์„œ ์ตœ์†Ÿ๊ฐ’ ์ฐพ๊ธฐ • ๋ฐฐ์—ด์˜ ์›์†Œ์˜ ์ดํ•ฉ ๊ณ„์‚ฐํ•˜๊ธฐ • Selection Sort 2. Pancake Sorting • ๊ต์žฌ Exercise 9(a),(b) in Chapter 1 of [E] (page 49) • (c) ๋Š” ์˜ต์…˜ Homework #1 (3/26๊นŒ์ง€) • ์•„๋ž˜ ๋ฌธ์ œ์— ๋Œ€ํ•œ recursive algorithm์„ ์„ค๊ณ„ํ•˜๊ณ  ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๋ถ„์„ํ•˜์„ธ์š” (๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ ๊ธˆ์ง€, ์žฌ๊ท€ํ˜ธ์ถœ๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ) • ๋ฐฐ์—ด์—์„œ ์ตœ์†Ÿ๊ฐ’ ์ฐพ๊ธฐ • ๋ฐฐ์—ด์˜ ์›์†Œ์˜ ์ดํ•ฉ ๊ณ„์‚ฐํ•˜๊ธฐ • Selection Sort • Pancake Sorting • Exercis..
JaeStory
'Algorithm๐Ÿค/์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก