E D R , A S I H C RSS

How To Study Data Structure And Algorithms

DataStructure™€ •Œ๊ณ ๋ฆฌฆ˜€ –ด๋–ป๊ฒŒ ๊ณต๋ถ€•ด•ผ • ๊นŒ..

ฒ˜Œ ‘•˜๋Š” ๊ฒƒด๋ผ๋ฉด ๋ฐฐ—ด -> Šคƒ ->  -> ๋ฆฌŠคŠธ -> Šธ๋ฆฌ ˆœ„œ๋กœ ๋‚˜๊ฐ€๋Š” ๊ฒƒด ข‹„๋“ฏ.  •๋ ฌ๊ณผ •ด‹ ด•˜ ๋’ค˜ ๊บผ๋Š” •„๋งˆ ด๋ฒˆ๋‹ฌ๋‚ด๋กœ ๋‚˜๊ฐ€๊ธฐ ž˜๋“ค๊ฒƒ ๊ฐ™€๋ฐ. Šธ๋ฆฌ๋‚˜ ๊ทธ๋ž˜”„๊นŒง€๋งŒ ๋ชฉ‘œ๋กœ žก•„๋„ „๊ณตด๋ผ๊ณ  ƒ๊ฐ•จ.

๊ทธ๋ฆฌ๊ณ , ž๋ฃŒ๊ตฌกฐ ๋ ˆฌŠธ „ ๋ฐฐ๋“คด •œ ๊ฒƒด žˆœผ๋‹ˆ๊นŒ, ๊ทธ ๋ฌธ œ๋“ค ๊ตฌ˜„„ ๋ชฉ‘œ๋กœ žก•„๋„ ข‹๊ณ . (›•œ๋‹ค๋ฉด ๋ณด๋‚ด„๊ป˜.) ex) Šคƒ:Šคƒ ๊ตฌ˜„, postfix ˜ ๊ตฌ˜„, ๊ณ„‚ฐ๊ธฐ ๊ตฌ˜„. : ๊ตฌ˜„. ๋ฆฌŠคŠธ:๋‹ค•ญ‹ ๋ง,๋บ„…ˆ & ๊ณ…ˆ ๊ตฌ˜„ (polynomial) Šธ๋ฆฌ:2„Šธ๋ฆฌ๊ตฌ˜„

ž๋ฃŒ๊ตฌกฐ๋Š” ผ๋‹จ 1. ๊ฐ๊ฐ˜ ž๋ฃŒ๊ตฌกฐ๋“ค˜ Šนง•„ ด•ด•˜๊ณ . 2. ‹ค œ˜ ๊ตฌ˜„๋ฒ•„ ตžˆ๋ฉฐ (๋ญ.š”ƒˆ๋Š” collection library๋“ค„  œ๊ณต•˜๋ฏ€๋กœ ง ‘๊ตฌ˜„•  ผด „–ด๋“ค—ˆ๊ธด –ˆง€๋งŒ. ๊ทธ๋ž˜๋„ —ฌ „žˆ ๊ธฐˆ๊ฐ€ ๋จ) 3. •ด๋‹น ๋ฌธ œƒ™ฉ—   ˆ•œ ž๋ฃŒ๊ตฌกฐ๋ฅผ „ ƒ•  ˆ˜ žˆ๋Š” ๋ˆˆ„ ๋‹ค๋“ฌ–ด•ผ •จ. --„ฒœ

 œ๊ฐ€ ƒ๊ฐปจ๋ฐ, ๊ตœก ธ ๋ชฉ —„œ๋Š”, ž๋ฃŒ๊ตฌกฐ๋‚˜ •Œ๊ณ ๋ฆฌฆ˜„ ฒ˜Œ ๊ณต๋ถ€•  ๋•Œ๋Š” šฐ„ € Šน • –ธ–ด๋กœ ๊ตฌ˜„๋œ ๊ฒƒ„ ๋ณดง€ •Š๋Š” ๊ฒƒด ข‹€ ๊ฒฝšฐ๊ฐ€ ๋งŽŠต๋‹ˆ๋‹ค -- ๋Œ€‹  pseudo-code ๋“œผ๋กœ ๊ทธ ๊ฐœ๋…๊นŒง€๋งŒ ด•ด•˜๋Š” ๊ฒƒดฃ . ๊ทธ •„ด๋””–ด๋ฅผ Procedural(C, –ด…ˆ๋ธ”๋ฆฌ–ด)ด๋‚˜ Functional(LISP,Scheme,Haskel), OOP(Java,Smalltalk) –ธ–ด ๋“œผ๋กœ ง ‘ ๊ตฌ˜„•ด ๋ณด๋Š” ๊ฒ๋‹ˆ๋‹ค. ด ๋‹คŒ—๋Š” ๋‹ค๋ฅธ ‚ฌ๋žŒ(…)˜ ฝ”๋“œ™€ ๋น„๊ต๋ฅผ •ฉ๋‹ˆ๋‹ค. ด ๊ฒฝ—˜„ • ˆ— ๋ฐ•ƒˆ ๋‹น•œ ‚ฌ๋žŒ€ ๊ท€ค‘•œ ๋ฐฐ›€๊ณผ ๊นจ๋‹ฌŒ˜ ๊ธฐšŒ๋ฅผ žƒ€ …ˆž…๋‹ˆ๋‹ค. ฐธ๊ณ ๋กœ •Œ๊ณ ๋ฆฌฆ˜ ๊ตžฌ๋กœ๋Š” 10๋…„— •œ ๋ฒˆ ๋‚˜˜ฌ๊นŒ ๋ง๊นŒ•œ CLR(Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest)„  ๊ทน ถ”ฒœ•ฉ๋‹ˆ๋‹ค(ด™€ •จ๊ป˜ ˜น€ ด „— Jon Bentley˜ Programming Pearls๋„ ๊ฐ•๋ ฅ ถ”ฒœ•ฉ๋‹ˆ๋‹ค.  „„ธ๊ณ„˜ •œ ”„๋กœ๊ทธ๋ž˜๋จธ/ „‚ฐ•™ž๋“คด •จ๊ป˜ ๊ผฝ€ "œ„๋Œ€•œ …" ๋ฆฌŠคŠธ—„œ ๋ช‡ †๊ฐ€๋ฝ •ˆ— ๋“œ๋Š” …ž…๋‹ˆ๋‹ค. •„๋งˆ šฐ๋ฆฌ •™๊ต ๋„„œ๊ด€— žˆ„ ๊ฒƒธ๋ฐ, •„ง ด …„ ๋ณธ   —†๋Š” ‚ฌ๋žŒ€ ถ••˜๋“œ๋ฆฝ๋‹ˆ๋‹ค. •„๋งˆ ๋ช‡ ฃผ ๊ฐ„€ ๊ฐ๋™ †— •˜๋ฃจ•˜๋ฃจ๋ฅผ ๋ณด๋‚ด๊ฒŒ ๋  ๊ฒ๋‹ˆ๋‹ค.). ๋งŒ•ฝ •จ๊ป˜ Šค„ฐ๋””๋ฅผ •œ๋‹ค๋ฉด, ๊ฐž ๋™ผ•œ •„ด๋””–ด๋ฅผ (๊ฐ™€ –ธ–ด๋กœ ˜น€ ๋‹ค๋ฅธ –ธ–ด๋กœ) –ด๋–ป๊ฒŒ ๋‹ค๋ฅด๊ฒŒ ‘œ˜„–ˆ๋Š”ง€๋ฅผ „œ๋กœ ๋น„๊ต•ด ๋ณด๋ฉด ๋˜ ๋ฐฐšฐ๋Š” ๊ฒƒด ๋งคšฐ ๋งŽŠต๋‹ˆ๋‹ค. šฐ๋ฆฌ๊ฐ€ ž๋ฃŒ๊ตฌกฐ๋‚˜ •Œ๊ณ ๋ฆฌฆ˜„ ๊ณต๋ถ€•˜๋Š” ดœ ๋Š”, Šน • "‹ค„ธ๊ณ„˜ ๋ฌธ œ"๋ฅผ –ด๋– •œ "ˆ˜•™  •„ด๋””–ด"๋กœ ๋งค•‘„ ‹œผœ„œ •ด๊ฒฐ•˜๋Š” ๊ฒƒด ๊ฐ€๋Šฅ•˜๊ณ  ๋˜ šจœจ ด๊ณ , ๋˜ ด๋ฅผ ปด“จ„— –ด๋–ป๊ฒŒ ๊ตฌ˜„•˜๋Š” ๊ฒƒด ๊ฐ€๋Šฅ•˜๊ณ  šจœจ ธง€๋ฅผ ๋”ฐง€๊ธฐ œ„•ด„œด๋ฉฐ, ด ๊ณผ •— žˆ–ด ˆ˜•™  ๊ฐœ๋…„ ”„๋กœ๊ทธ๋ž˜๋ฐ –ธ–ด๋กœ ‘œ˜„•ด ๋‚ด๋Š” ๊ฒƒ€ •„ฃผ ค‘š”•œ ๋Šฅ๋ ฅด ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ •Œ๊ณ ๋ฆฌฆ˜˜ นดƒˆ๋กœ๊ทธ๋ฅผ ด•ด, •”๊ธฐ•˜๋ฉฐ ตžˆ๋Š” ๊ฒƒ๋„ ค‘š”•˜ง€๋งŒ ๋” ค‘š”•œ ๊ฒƒ€ •Œ๊ณ ๋ฆฌฆ˜„ ƒ๊ฐ•ด ๋‚ผ ˆ˜ žˆ๋Š” ๋Šฅ๋ ฅ๊ณผ ด •Œ๊ณ ๋ฆฌฆ˜˜ šจœจ„ ๋น„๊ต•  ˆ˜ žˆ๋Š” ๋Šฅ๋ ฅ, ๊ทธ๋ฆฌ๊ณ  ด๋ฅผ ‘œ˜„•  ˆ˜ žˆ๋Š” ๋Šฅ๋ ฅž…๋‹ˆ๋‹ค.

ฒซ๋ฒˆงธ๊ฐ€  œ๋Œ€๋กœ ›ˆ๋ จ๋˜ง€ ๋ชป•œ ‚ฌ๋žŒ€ •Œ๊ณ ๋ฆฌฆ˜ ๋ชฉ๋ก˜ Šค…Œ๋ ˆ˜ค ƒ€ž…—๋งŒ ๊ธธ๋“ค—ฌ ธ žˆ–ด„œ ๋ชจ๋“  ๋ฌธ œ๋ฅผ ž‹ ด ๊ฐ€„ •Œ๊ณ ๋ฆฌฆ˜ ๋ชฉ๋ก— ๋ผ›Œ๋งžถ”๋ ค๊ณ  •ฉ๋‹ˆ๋‹ค. DesignPatterns๋ฅผ ž˜ ๋ชป ๊ณต๋ถ€•œ ‚ฌ๋žŒ๊ณผ ๋น„Šท•ฉ๋‹ˆ๋‹ค. ด ‚ฌ๋žŒ๋“ค€ ๋งˆน˜ ๊ณผ๊ˆ˜•™  •„„ ˆ˜‹ญ๋ฒˆ„ ๊ณต๋ถ€•ด„œ ๋ฌธ œ๋ฅผ •˜๋‚˜ ๋˜ ธฃผ๊ธฐ๋งŒ •˜๋ฉด, ƒ๊ฐ•ด๋ณดง€๋„ •Š๊ณ  ž‹ ด ’€—ˆ๋˜ ๋ฌธ œ๋“ค˜ Œจ„ค‘ ๊ฐ€žฅ ๋น„Šท•œ ๊ฒƒ •˜๋‚˜๋ฅผ ๊ธฐ๊ณ„ , ๋ฌด˜‹ œผ๋กœ ’€–ด œ๋ผ๋Š” "๋ฌธ œ’€ด๊ธฐ๊ณ„"™€ ๋น„Šท•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค—๊ฒŒ ๋„ค‘— ๋ฌผ–ด๋ณด‹ญ‹œ˜ค. "๋„ˆ ง€๊ธˆ ๋ฌดŠจ ๋ฌธ œ ’€๊ณ žˆ๋Š”๊ฐ๋‹ˆ?" —ด‹ฌžˆ —ฐŠตžฅ— ๋ญ”๊ฐ€ ’€–ด๋‚˜๊ฐ€๊ณ ๋Š” žˆง€๋งŒ ๊ทธ๋“ค€ ž‹ ด ๋ญ˜ ’€๊ณ žˆ๋Š”ง€๋„ ž˜ ธ‹•˜ง€ ๋ชป•˜๋Š” ๊ฒฝšฐ๊ฐ€ ๋งŽŠต๋‹ˆ๋‹ค. ๋จธ๋ฆฌ๊ฐ€ ‘ธ๋Š” ๊ฒŒ •„๋‹ˆ๊ณ  †ด ‘ธ๋Š” ๊ฒƒดฃ .

๋‘๋ฒˆงธ๊ฐ€  œ๋Œ€๋กœ ›ˆ๋ จ๋˜ง€ ๋ชป•œ ‚ฌ๋žŒ€ ผผด ๊ตฌ˜„„ •ด๋ณด๊ณ  ‹ค—˜„ •ด๋ด•ผ๋งŒ •Œ๊ณ ๋ฆฌฆ˜๊ฐ„˜ ๋น„๊ต๋ฅผ •  ˆ˜ žˆŠต๋‹ˆ๋‹ค. Šนžˆ ž‹ ด ๊ฐ€„ นดƒˆ๋กœ๊ทธ๋ฅผ ๋ฒ—–ด๋‚œ •Œ๊ณ ๋ฆฌฆ˜„ ๋งŒ๋‚˜๋ฉด ด ๋ฌธ œ๊ฐ€ ƒ๊น๋‹ˆ๋‹ค. ด๊ƒ๋‹น•œ ๋Œ“๊ฐ€๋ฅผ น˜๋ฃจ๊ฒŒ •ฉ๋‹ˆ๋‹ค.

„ธ๋ฒˆงธ๊ฐ€  œ๋Œ€๋กœ ›ˆ๋ จ๋˜ง€ ๋ชป•œ ‚ฌ๋žŒ€, ๋ฌธ œ๋ฅผ ๋ณด๋ฉด "•„, ด๊ด๋ ‡๊ฒŒ ด๋ ‡๊ฒŒ •ด๊ฒฐ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค"๋ผ๋Š” ๋ง€ ๊ณงž˜ •  ˆ˜ žˆง€๋งŒ ๋ง‰ƒ ปด“จ„•ž— •‰˜€ ๋†“œผ๋ฉด •„๋ฌด ๊ฒƒ๋„ •˜ง€ ๋ชป•ฉ๋‹ˆ๋‹ค. ‹ฌง€–ด ž‹ ด ƒ๊ฐ•ด๋‚ธ ๊ทธ ๊ตฌฒด  •Œ๊ณ ๋ฆฌฆ˜„ ๋‚จ—๊ฒŒ „ค๋ช…•ด „ ˆ˜ žˆ๊ธฐ๊นŒง€ •˜ง€๋งŒ, ๊ทธ๋“ค€ ๊ทธ๊ธ "ปด“จ„—๊ฒŒ" „ค๋ช…•ด ฃผ๋Š” ๋ฐ—๋Š” ‹คŒจ•ฉ๋‹ˆ๋‹ค. ๋ญ”๊ฐ€ ƒ๊ฐ•ด ๋‚ผ ˆ˜ žˆ๋‹ค๋Š” ๊ฒƒ๊ณผ, ๊ทธ๊ปด“จ„ฐ๊ฐ€ ด•ด•  ˆ˜ žˆ๊ฒŒ „ค๋ช…•  ˆ˜ žˆ๋‹ค๋Š” ๊ฒƒ€ ๋‹ค๋ฅธ ฐจ›˜ ๋Šฅ๋ ฅ„ •„š”๋กœ •ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋งˆง€๋ง‰œผ๋กœ, ž๋ฃŒ๊ตฌกฐ/•Œ๊ณ ๋ฆฌฆ˜ ๊ณต๋ถ€๋ฅผ •  ๋•Œ—๋Š” ๊ฐ€๋Šฅ•˜๋ฉด ‹คˆ ด๊ณ  ๊ตฌฒด ธ ‹ค„ธ๊ณ„˜ ๋ฌธ œ๋ฅผ •จ๊ป˜ ๋‹ค๋ฃจ๋Š” ๊ฒƒด ฐ ๋„›€ด ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  •™Šต— žˆ–ด ด๋Š” ๋˜‘๊ฐ™ด  šฉ๋ฉ๋‹ˆ๋‹ค. ธ๋ฅ˜˜ ง€„‚ฌ๋ฅผ ๋ด๋„, ๊ตฌƒ(concrete) ๋‹คŒ— ถ”ƒ(abstract)๊ฐ€ ˜ค๊ณ , ธ๊ฐ„ ๊ฐœฒด •˜๋‚˜˜ „žฅ„ ๋ด๋„ ๊ทธ๋Ÿฌ•ฉ๋‹ˆ๋‹ค. be ๋™‚ฌ ๋”•˜๊ธฐ to ๋ถ€ •‚ฌ๊ฐ€ ˜ˆ •œผ๋กœ •ด„๋  ˆ˜ žˆ๋‹ค๋Š” ๋ฃฐ๋งŒ ™ธšฐ๋Š” ๊ฒƒ๋ณด๋‹ค, ๊ทธ๋Ÿฌ•œ ๋‹ค–‘•œ ˜ˆ๋ฌธ„ ‹ค œ ๋ฌธ๋งฅ †—„œ —ฌ๋Ÿฌ๋ฒˆ ๋ณด๋Š” ๊ฒƒด ›”ฌ ๋‚˜€ ๊ฒƒ€ ž๋ช…•ฉ๋‹ˆ๋‹ค. •Œ๊ณ ๋ฆฌฆ˜/ž๋ฃŒ๊ตฌกฐ ๊ณต๋ถ€๋ฅผ •  ๋•Œ —ฌ๋Ÿฌ นœ๊ตฌ๋“ค๊ณผ •จ๊ป˜ —ฐŠต๋ฌธ œ(Šนžˆ ‹ค„ธ๊ณ„˜ ๋Œ€ƒ๋“ค๊ณผ ๊ด€๋ จด žˆ๋Š” ๊ฒƒ)๋ฅผ ’€–ด๋ณด๊ธฐ๋„ •˜๊ณ , ACM˜ ICPC ๋“˜ ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฒฝ„ ๋Œ€šŒ˜ ๋ฌธ œ ค‘ •ด๋‹น •Œ๊ณ ๋ฆฌฆ˜/ž๋ฃŒ๊ตฌกฐ๊ฐ€ ‚ฌšฉ๋˜๋Š” ๋ฌธ œ๋ฅผ -- ด๊ฒŒ ๊ฐ€๋Šฅ•˜๋ ค๋ฉด "ด •Œ๊ณ ๋ฆฌฆ˜ด “ฐด๋Š” ๋ฌธ œ๋Š” ด๊ฐ๋‹ค"๋ผ๋Š” ๊ฐ€ด๋“œ๋ฅผ •ด„ ‚ฌ๋žŒด žˆœผ๋ฉด ข‹๊ฒ ฃ  -- ๊ฐ™ด ’€–ด๋ณด๋Š” ๊ฒƒ๋„ •„ฃผ ข‹Šต๋‹ˆ๋‹ค.

--๊น€ฐฝค€

•Œ๊ณ ๋ฆฌฆ˜/ž๋ฃŒ๊ตฌกฐ ๊ตœก— ๋Œ€•œ ๋ถˆ๋งŒ

šฐ๋ฆฌ๋Š” •Œ๊ณ ๋ฆฌฆ˜ นดƒˆ๋กœ๊ทธ๋ฅผ ๋ฐฐšด๋‹ค. ด๋ฏธ ๊ทธ๋Ÿฌ•œ •ด๋ฒ•ด กดžฌ•˜๊ณ , ๊ทธ๊ฒƒด ตœ๊ณ ด๋ฉฐ, ๋”ฐ๋ผ„œ ๊ทธ๊ฒƒ„ ๋‹ฌ๋‹ฌ ™ธšฐ๊ณ  ด•ด•ด•ผ •œ๋‹ค. ข€ ๋˜‘๋˜‘•œ นœ๊ตฌ๋“ค€ ข…ข…, "ด•ผ ด๊ •๋ง ๊ธฐ๊ฐ€๋ง‰žŒ •ด๋ฒ•ด๊ตฐ!"•˜๋Š” ๊ฐƒ„„ ™ธน ง€๋„ ๋ชจ๋ฅธ๋‹ค. ๋Œ€๋ถ€๋ถ„˜ ๋‚˜๋จธง€ •™ƒ๋“ค€ ๊ทธ •ด๋ฒ•„ ด•ด•˜๋ ค๊ณ  ๋จธ๋ฆฌ๋ฅผ ฅ–ดงœ๊ณ  •œฐธ„ ”จ๋ฆ„•œ ›„—•ผ –ด๋ ด’‹ด ™œ ด •ด๋ฒ•ด ๊ทธ ๋ฌธ œ๋ฅผ •ด๊ฒฐ•˜๋Š”ง€ ๋‚ฉ๋“•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ ๋Š” ๊ทธ "ฆ๋ช…"€ … †— ๋ฎ–ด๋‘๊ณ  ๊นŒ๋งฃ๊ฒŒ ‚ฌ๋ผ ธ๋ฒ„๋ฆฐ๋‹ค. •žœผ๋กœ๋Š” ๊ทธ๋ƒฅ "‚ฌšฉ"•˜๋ฉด ๋˜๋Š” ๊ฒƒด๋‹ค. ๋” ๋งŽ€ ๋Œ€๋‹คˆ˜˜ •™ƒ€ ด ๊ณผ •ด ๋ฌด˜๋ฏธ•˜๋‹ค๋Š” ๊ฒƒ„ •Œ๊ธฐ ๋•Œ๋ฌธ— ™œ ด •ด๋ฒ•ด ด ๋ฌธ œ๋ฅผ ๋ฌธ œ—†ด •ด๊ฒฐ•˜๋Š”ง€˜ ฆ๋ช…€ ๊ฐ„๋‹จžˆด๋„ˆ›ฐ๊ธฐ๋ฅผ •œ๋‹ค.

ด๋Ÿฐ •™ƒ๋“คด ฃผ–ด„ •Œ๊ณ ๋ฆฌฆ˜„ ‚ฌšฉ•˜๋Š” †Œœ„ "๊ฐ๊ด€‹" ˜น€ "๋ฌธ œถœ œž"๊ฐ€ กดžฌ•˜๋Š” ‹œ—˜žฅ ƒ™ฉ •˜—„œ๋Š” ๋›–ด๋‚œ „ „ ๋ณดผ๊ฒƒž„€ ž๋ช…•˜๋‹ค. •˜ง€๋งŒ ŠคŠค๋กœ๊ฐ€ ๋ฌธ œ™€ •ด๋‹ต„ ๋ชจ๋‘ ๋งŒ๋“ค–ด๋‚ด•ผ •˜๋Š” ƒ™ฉด๋ผ๋ฉด, •Œ๊ณ ๋ฆฌฆ˜„ ™„ „žˆ ƒˆ๋กœ ๊ณ •ˆ•ด๋‚ด•ผ •˜๋Š”, ๋˜๋Š” ๊ธฐกด •Œ๊ณ ๋ฆฌฆ˜„ ๋ณ€˜••ด•ผ •˜๋Š” ๋Œ€๋‹คˆ˜˜ ƒ™ฉด๋ผ๋ฉด –ด๋–จ๊นŒ?

๊ตœก€ ๋ฌผ๊ณ ๊ธฐ๋ฅผ žก๋Š” ๋ฐฉ๋ฒ•„ ๊ฐ€๋ฅดณฃผ–ด•ผ •œ๋‹ค. –ด๋–ค •Œ๊ณ ๋ฆฌฆ˜„ ๋ฐฐšด๋‹ค๋ฉด, ๊ทธ •Œ๊ณ ๋ฆฌฆ˜„ ๊ณ •ˆ•ด ๋‚ธ ‚ฌ๋žŒด –ด๋–ค ‚ฌ๊ณ ˜ ๊ณผ •„ณ„œ ๊ทธ •ด๋ฒ•— ๋„๋‹ฌ–ˆ๋Š”ง€๋ฅผ ๊ตฌ๊ฒฝ•  ˆ˜ žˆ–ด•ผ •˜๊ณ , •™ƒ€ ๊ฐž ŠคŠค๋กœ๋งŒ˜ •ด๋ฒ•„ ฐจ๊ทผ ฐจ๊ทผ "๊ตฌ„"(construct)•  ˆ˜ žˆ–ด•ผ •œ๋‹ค(ด๋ฅผ ๊ตœกฒ •™—„œ ๊ตฌ„ฃผ˜๋ผ๊ณ  •˜๋Š”๋ฐ, ๋ ˆ๊ณ ˜ •„๋ฒ„ง€ด๊ณ  ๋งˆ๋นˆ ๋ฏผŠค‚ค™€ •จ๊ป˜ MIT ๋ฏธ๋””–ด๋žฉ˜ „ ๊ตฌžธ „ด๋จธ Ž˜ผŠธ ๋ฐ•‚ฌ๊ฐ€ ฃผฐฝ–ˆ๋‹ค).  „๋ฌธ๊ฐ€๊ฐ€ •˜๋Š” ๊ฒƒ„ ๋ฐฐšฐง€ ๋ง๊ณ , ๊ทธ๋“คด –ด๋–ป๊ฒŒ  „๋ฌธ๊ฐ€๊ฐ€ ๋˜—ˆ๋Š”๊ฐ€๋ฅผ ๋ฐฐšฐ๊ณ  ‰๋‚ด๋‚ด๋ผ.

๊ฒฐ๊ตญ€ †Œฌ๋ผ…ŒŠค ธ ๋Œ€™”๋ฒ•ด๋‹ค. •ด๋‹ต๋ฅผ ๊ฐ€๋ฅดณ ฃผง€ •Šœผ๋ฉด„œ๋„, ˆ๋“•™๊ต •™ƒด ž‹ ด ๊ฐ€„ ง€‹๋งŒœผ๋กœ ŠคŠค๋กœ €ต†ŒŠธ๋ฅผ œ ๋„•ด ๋‚ผ ˆ˜ žˆ๋„๋ก ˜†—„œ ๋„™€„ ˆ˜ žˆ๋Š”๊ฐ€? ด๊ฒƒด šฐ๋ฆฌ ŠคŠค๋กœ™€ ๊ต‚ฌ๋“ค—๊ฒŒ ๋ฌผ–ด•ผ •  ˆ๋ฌธด๋‹ค.

--๊น€ฐฝค€

๊ณ ๋“•™๊ต๋•Œ๋ถ€„˜๋Ÿฌ˜จ ๊ตœก๋ฐฉ‹˜ •ด๊ฐ€ •„๋‹๊นŒ •˜๋„š”. '๋ฌด—‡„, ™œ' ๋ผ๋Š” ˆ๋ฌธ ด „— '–ด๋–ป๊ฒŒ' ๊ฐ€ ๋จธ๋ฆฟ†— ๋“ค–ด™€๋ฒ„๋ฆฌ๋Š”. --„ฒœ

™œ šฐ๋ฆฌ๋Š” •™๊ต—„œ "”„๋กœ๊ทธ๋ž˜๋ฐ„ •˜๋Š” ๊ณผ •"ด๋‚˜ "๋””žธ ๊ณผ •"„ ๋ฐฐšด  ด —†„๊นŒ? ™œ •ด๋‹ต— ด๋ฅด๋Š” ๊ณผ •„ ๊ฐ€๋ฅดณฃผ๋Š” ‚ฌ๋žŒด —†๋‚˜? šฐ๋ฆฌ๊ฐ€ ๋ณด๋Š” ๊ฒƒ€ ๋ชจกฐ๋ฆฌ ข…  ƒƒœ˜ ๊ฒฐ๊ณผ๋ฌผ๋กœ„œ˜ ”„๋กœ๊ทธ๋žจ ๋ฟด๋‹ค. ๊ตˆ˜๊ฐ€ –ด๋–ค •Œ๊ณ ๋ฆฌฆ˜ ๋ฌธ œ˜ •ด๋‹ต„ ๊ฐ€๋ฅดน  ๋•Œ, "๊ตˆ˜๋‹˜, ๊ตˆ˜๋‹˜๊ป˜„œ๋Š” –ด๋–ค ‚ฌ๊ณ ˜ ๊ณผ •„ณ, ๊ทธ๋ฆฌ๊ณ  –ด๋–ค ๋””žธ ๊ณผ •๊ณผ ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณผ •„ณ„œ ๊ทธ ”„๋กœ๊ทธ๋žจ„ ๋งŒ๋“œ…จŠต๋‹ˆ๊นŒ?"๋ผ๊ณ  ๋ฌผ–ด๋ณดž. ๋งŒ•ฝ —ฌ๊ธฐ— –ด๋–ค ฒด๊ณ„ ธ ๋‹ต๋ณ€๋„ •  ˆ˜ —†๋Š” ‚ฌ๋žŒด๋ผ๋ฉด, ๊ทธ ‚ฌ๋žŒ€ ž‹ ˜ ‚ฌ๊ณ — ๋Œ€•ด ‚ฌ๊ณ •ด ๋ณธ  ด —†๊ฐ๋‚˜, ๋ฌธ œ •ด๊ฒฐ— –ด๋–ค šจœจ  ฒด๊ณ„๋ฅผ ๊ฐ–ถ”ง€ ๋ชป•œ ‚ฌ๋žŒด๋ฉฐ, ๋”ฐ๋ผ„œ •„ง ๋‚จ„ ๊ฐ€๋ฅดน  ค€๋น„๊ฐ€ ๋˜–ดžˆง€ •Š€ ‚ฌ๋žŒด๋‹ค. --๊น€ฐฝค€

•Œ๊ณ ๋ฆฌฆ˜„ ๊ณต๋ถ€•˜๋ฉด ฐ „๊ธฐ๋“ค„ •Œ•„•ผ •ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ …Œฌ๋‹‰๋“ค๋„ ค‘š”•˜ง€๋งŒ "Œจ๋Ÿฌ๋‹คž„"ด๋ผ๊ณ  • ๋งŒ•œ ๊ฒƒ๋“ค„ •Œ•„•ผ •ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜•ผ •Œ๊ณ ๋ฆฌฆ˜„ ƒ™ฉ— ๋งž๊ฒŒ ๋งˆŒ๋Œ€๋กœ ‘šฉ•  ˆ˜ žˆŠต๋‹ˆ๋‹ค. ๋˜, ž‹ ๋งŒ˜ ๋ถ„๋ฅ˜๋ฒ•„ ๋งŒ๋“ค–ด•ผ •ฉ๋‹ˆ๋‹ค. (see also HowToReadIt Build Your Own Taxonomy) ๊ตฌฒด ธ ๋ฌธ œ๋“ค„ ผ€ดŠค ๋ฐ”ด ผ€ดŠค๋กœ —ฌ๋Ÿฟ  ‘•˜๋Š” ๋™•ˆ ๊ทธ๋ƒฅ ง€๋‚˜ณ ๋ฒ„๋ฆฌ๋ฉด ๊ฐœ๋ณ„ž๋Š” ˜›žˆ ๊ฐœ๋ณ„ž๋กœ ๋‚จ„ ๋ฟž…๋‹ˆ๋‹ค. ๋น„Šท•œ ๋ฌธ œ๋“ค„ „œ๋กœ ๋ฌถ–ด„œ ผ๋ฐ˜™”๋ฅผ •ด•ผ •ฉ๋‹ˆ๋‹ค. (see also DoItAgainToLearn)

ด™€ ๊ด€๋ จ•ด„œ Anany Levitin˜ A NEW ROAD MAP OF ALGORITHM DESIGN TECHNIQUES(DDJ, 2000 Apr)๋ฅผ ๊ถŒ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Š” •Œ๊ณ ๋ฆฌฆ˜ ๋””žธ …Œฌ๋‹‰„ ๋‹คŒ ๋„ค๊ฐ€ง€๋กœ ฌ๊ฒŒ ๋‚˜๋ˆ•๋‹ˆ๋‹ค:
  • brute force
  • divide-and-conquer
  • decrease-and-conquer
  • transform-and-conquer

ž๋ฃŒ๊ตฌกฐ™€ •Œ๊ณ ๋ฆฌฆ˜€ ”„๋กœ๊ทธ๋žจ„ ๋งŒ๋“œ๋Š” ๋ฐ žˆ–ด„œ ค‘š”•˜๋‹ค๊ณ  ƒ๊ฐ•ฉ๋‹ˆ๋‹ค. ๋‚จด ๋งŒ๋“  ž๋ฃŒ๊ตฌกฐ™€ •Œ๊ณ ๋ฆฌฆ˜„ ดšฉ•˜๋Š”๋ฐ ๊ทธน˜ง€ ๋ง๊ณ  ŠคŠค๋กœ ƒ๊ฐ•˜—ฌ ๋งŒ๋“œ๋Š” ๊ฒฝง€— ˜ค๋ฅด๋ฉด ข‹๊ฒ Šต๋‹ˆ๋‹ค. -๊ฐ•ฌ๊ฒฝ

DeleteMe) 1•™๊ธฐ๋๋‚˜๊ฐ€๋Š” ๋งˆ๋‹น— ›„šŒ ๋ง‰๊ธ‰ž„. ๋ชจ๋“  ๊ฒƒ๋“ค„ •œ๋ฒˆ”ฉ ๊ตฌ˜„•ด๋ณด๊ณ  ๊ฐ”–ด•ผ•˜๋Š”๋ฐ... ƒˆ๋กœ ๋“คœผ‹œ๋Š” ๋ถ„๋“ค ๊ผญ •œ๋ฒˆ”ฉ ๊ตฌ˜„•ด๋ณด„š”. ง€๊ธˆ ƒ๊ฐ•ด๋ณด๋‹ˆ  •ž‘ ค‘š”•œ ๊ฒƒ„ ๋“•œ‹œ•œ ๋А๋‚Œž…๋‹ˆ๋‹ค - eternalbleu


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:26
Processing time 0.0269 sec