Home > Algorithm > 2024 > ๐Ÿ“ฆ[DS,Algorithm] ์•Œ๊ณ ๋ฆฌ์ฆ˜(Algorithm)

๐Ÿ“ฆ[DS,Algorithm] ์•Œ๊ณ ๋ฆฌ์ฆ˜(Algorithm)
DataStructure Algorithm

1๏ธโƒฃ ์•Œ๊ณ ๋ฆฌ์ฆ˜(Algorithm).

์•Œ๊ณ ๋ฆฌ์ฆ˜(Algorithm)์€ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ จ์˜ ๋ช…ํ™•ํ•œ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋œ ์ ˆ์ฐจ๋‚˜ ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•ด, ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์ผ๋ จ์˜ ๊ทœ์น™ ๋˜๋Š” ์ง€์นจ์ž…๋‹ˆ๋‹ค.

1๏ธโƒฃ ์•Œ๊ณ ๋ฆฌ์ฆ˜(Algorithm)์˜ ์ •์˜.

์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์š”์†Œ๋ฅผ ๊ฐ–์ถ˜ ์ ˆ์ฐจ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.

  1. ์ž…๋ ฅ(Input) : ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ฒ˜๋ฆฌํ•  ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ฐ’์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

  2. ์ถœ๋ ฅ(Output) : ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๋กœ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ฐ’์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  3. ๋ช…ํ™•์„ฑ(Definiteness) : ๊ฐ ๋‹จ๊ณ„๋Š” ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจํ˜ธํ•œ ๋ถ€๋ถ„ ์—†์ด ๋ช…ํ™•ํ•œ ์ง€์นจ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  4. ์œ ํ•œ์„ฑ(Finiteness) : ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์œ ํ•œํ•œ ๋‹จ๊ณ„ ๋‚ด์—์„œ ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌดํ•œํžˆ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ , ํ•œ์ •๋œ ๋‹จ๊ณ„ ๋‚ด์—์„œ ๋๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  5. ์œ ํšจ์„ฑ(Effectiveness) : ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ชจ๋“  ๋‹จ๊ณ„๋Š” ์‹ค์ œ๋กœ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๋ฉฐ, ์‚ฌ๋žŒ์ด ์ง์ ‘ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์„ ์ •๋„๋กœ ๊ธฐ๋ณธ์ ์ธ ์—ฐ์‚ฐ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํŠน์„ฑ

์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ •ํ™•์„ฑ(Correctness) : ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์˜ฌ๋ฐ”๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  2. ์‹œ๊ฐ„ ๋ณต์žก๋„(Time Complexity) : ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํฌ๊ธฐ์— ๋Œ€ํ•œ ํ•จ์ˆ˜๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.

  3. ๊ณต๊ฐ„ ๋ณต์žก๋„(Space Complexity) : ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์–‘์ž…๋‹ˆ๋‹ค. ์ด ๋˜ํ•œ ์ž…๋ ฅ ํฌ๊ธฐ์— ๋Œ€ํ•œ ํ•จ์ˆ˜๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.

  4. ํšจ์œจ์„ฑ(Efficiency) : ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ฃผ์–ด์ง„ ์ž์›์„ ์–ผ๋งˆ๋‚˜ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„์™€ ๊ณต๊ฐ„ ๋ณต์žก๋„๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  5. ํ™•์žฅ์„ฑ(Scalability) : ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ž…๋ ฅ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์–ผ๋งˆ๋‚˜ ์ž˜ ๋™์ž‘ํ•˜๋Š”์ง€ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ํ™•์žฅ์„ฑ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํฐ ์ž…๋ ฅ ํฌ๊ธฐ์—์„œ๋„ ํšจ์œจ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

3๏ธโƒฃ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ค‘์š”์„ฑ.

์•Œ๊ณ ๋ฆฌ์ฆ˜(Algorithm)์€ ์ปดํ“จํ„ฐ ๊ณผํ•™ ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์ด ๋” ๋น ๋ฅด๊ณ  ์ ์€ ์ž์›์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌธ์ œ ํ•ด๊ฒฐ์˜ ๋…ผ๋ฆฌ์ ์ด๊ณ  ์ฒด๊ณ„์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ œ๊ณตํ•˜์—ฌ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ์™€ ์ปดํ“จํ„ฐ ๊ณผํ•™์ž์—๊ฒŒ ํ•„์ˆ˜์ ์ธ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ณ , ๋” ๋‚˜์€ ์†Œํ”„ํŠธ์›จ์–ด์™€ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.