์‹œ๊ฐ„ ๋ณต์žก๋„ ํ‘œ๊ธฐ - ์ ๊ทผ์  ํ‘œ๊ธฐ๋ฒ• (Big-O, Big-Θ, Big-โ„ฆ)

์‹œ๊ฐ„ ๋ณต์žก๋„ ๊ฐœ๋…์„ ์•Œ์•˜์œผ๋‹ˆ.. ์ด์ œ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ์–ด๋–ป๊ฒŒ ํ‘œ๊ธฐํ•˜๋Š” ์ง€ ์•Œ์•„๋ด…์‹œ๋‹ค !! (์•„์ง๋„ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ๋ญ”์ง€ ๋ชจ๋ฅด์‹ ๋‹ค๋ฉด.. ์•„๋ž˜ ํ™•์ธํ•ด๋ณด์„ธ์š” ๐Ÿ˜†) ์‹œ๊ฐ„ ๋ณต์žก๋„ (Time Complexity), ๊ทธ๋ฆฌ๊ณ  ๊ณต๊ฐ„ ๋ณต์žก๋„ (Space Complexity) ๋‹ค์‹œ ๊ธฐ์–ต์„ ๋˜์‚ด๋ ค๋ณด๋ฉด, ์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ์ธก์ •ํ•  ๋•Œ ์ตœ์•…์˜ ์ƒํ™ฉ์„ ๊ฐ€์ •ํ•˜๊ณ , ์ˆ˜ํ–‰์‹œ๊ฐ„์„ ์ธก์ •ํ•œ๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฐ์ดํ„ฐ n๊ฐœ๊ฐ€ ๋“ค์–ด์™”์„ ๋•Œ ์ตœ์•…์˜ ์ƒํ™ฉ์„ ๊ฐ€์ •ํ•œ๋‹ค๋ฉด, n๊ฐœ์˜ ์ž…๋ ฅ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์—ฐ์‚ฐ ์ˆ˜ํ–‰ ํšŸ์ˆ˜๋ฅผ n์˜ ๊ด€ํ•œ ์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๊ฒ ์ฃ  ?! (๋ฌด์Šจ ๋ง์ธ์ง€ ๋ชจ๋ฅด์‹œ๊ฒ ๋‹ค๊ณ ์š”..? ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด ์ดํ•ด๊ฐ€์‹ค ๊ฑฐ์—์š”! ) ์ €๋ฒˆ์— ๋ดค๋˜ ์ฝ”๋“œ๋กœ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ! ์•„๋ž˜ ํ•จ์ˆ˜๋Š” ๋ฐฐ์—ด์—์„œ ์ œ์ผ ํฐ ์›์†Œ๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. // Swift func..

Computer/Algorithm 2024. 1. 29. 00:38
์‹œ๊ฐ„ ๋ณต์žก๋„ (Time Complexity), ๊ทธ๋ฆฌ๊ณ  ๊ณต๊ฐ„ ๋ณต์žก๋„ (Space Complexity)

์ž๋ฃŒ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ญ”์ง€๋Š” ๋‹ค ์•Œ๊ณ  ์˜ค์…จ์ฃ  ?! ๋ชจ๋ฅด๊ฒ ๋‹ค๊ณ ์š” ..?? ์ œ๊ฐ€ ์„ค๋ช… ์ž˜ ํ•ด๋’€์œผ๋‹ˆ ํ•œ ๋ฒˆ ๋ณด๊ณ  ์˜ค์‹œ์ฃ ! (๋ธ”๋กœ๊ทธ ํ™๋ณด ๐Ÿ˜Ž) ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ณธ๋ก ์œผ๋กœ ๋Œ์•„์™€์„œ ! ์ž๋ฃŒ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ญ”์ง€๋Š” ์ด์ œ ์•Œ์•˜์œผ๋‹ˆ ์šฐ๋ฆฌ๋Š” ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ์ง€๋ฅผ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๊ธธ๋Ÿฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„์™€ ๊ณต๊ฐ„ ๋ณต์žก๋„์— ๋Œ€ํ•ด ๋จผ์ € ์•Œ์•„์•ผ ํ•ด์š”. ๊ทธ๋Ÿฐ๋ฐ ์ž ๊น ! ์œ„์— ๊ฐœ๋…์„ ๋ฐฐ์šฐ๊ธฐ ์ „, ํ•œ ๊ฐ€์ง€ ์ƒ๊ฐํ•ด ๋ด์•ผ ํ•  ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์™œ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฐพ์•„์•ผ ํ• ๊นŒ์š”? ๊ทธ๊ฑด ๋ฐ”๋กœ ์šฐ๋ฆฌ์—๊ฒŒ ์ฃผ์–ด์ง„ ์ž์›์€ ํ•œ์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆ˜ํ•™ ๋ฌธ์ œ๋ฅผ ํ‘ผ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค. ๋ˆ„๊ตฌ๋Š” ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ํ’€์ด ๋ฐฉ์‹(๊ณต์‹)์œผ๋กœ ๋‹จ ์‹œ๊ฐ„์— ๋ฌธ์ œ๋ฅผ ํ’€ ๊ฒƒ์ด๊ณ , ๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€๋Š” ๊ณ„์‚ฐ..

Computer/Algorithm 2024. 1. 18. 15:56