๊ฒ€์ƒ‰

9/5/2025

๊ฒ€์ƒ‰

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

์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋” ์ค‘์š”ํ•˜์ง€ ์•Š์„๊นŒ? ๋ฌด์ˆœ์„œ ์„ ํ˜• ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์•„๋‹ˆ๋ผ๋ฉด ์ž๋ฃŒ๊ฐ€ ์ž˜ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฐ€์ • ํ•˜์— ์‹คํ–‰๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์ด๋‹ˆ๊นŒ.

์ฃผ์š”ํ•œ ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ๋‹ค.

  • ๋ฌด์ˆœ์„œ ์„ ํ˜• ๊ฒ€์ƒ‰ (Unordered Linear Search)
  • ์ •๋ ฌ/์ˆœ์„œ ์„ ํ˜• ๊ฒ€์ƒ‰ (Sorted/Ordered Linear Search)
  • ์ด์ง„ ๊ฒ€์ƒ‰ (Binary Search)
  • ์‹ฌ๋ณผ ํ…Œ์ด๋ธ” (Symbol Table)๊ณผ ํ•ด์‹ฑ(Hashing)
  • ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ํŠธ๋ผ์ด(Trie), ์‚ผ์ง„ ๊ฒ€์ƒ‰ (Ternary Search)์™€ ์ ‘๋ฏธ ํŠธ๋ฆฌ(Suffix tree)

๋ฌด์ˆœ์„œ ์„ ํ˜• ๊ฒ€์ƒ‰

๋ฌด์ž‘์œ„๋กœ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋“ค์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ˆœํšŒํ•˜๋ฉด์„œ ์กฐ๊ฑด์— ๋งž๋Š” ํ•ญ๋ชฉ์„ ๊ฒ€์ƒ‰ํ•œ๋‹ค.
์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ๋ชจ๋“  ๋ฐฐ์—ด์„ ์ˆœํšŒํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— O(n).

์ •๋ ฌ/์ˆœ์„œ ์„ ํ˜• ๊ฒ€์ƒ‰

์ž๋ฃŒ๊ฐ€ ์ •๋ ฌ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ O(n) ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ์กฐ๊ธˆ ๋” ๋นจ๋ฆฌ ๋๋‚  ์ˆ˜ ์žˆ๋‹ค.

์ด์ง„ ๊ฒ€์ƒ‰

์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ ์‹œ๊ฐ„์— ๋ฐฐ์› ๋˜๋Œ€๋กœ ๊ณ„์†ํ•ด์„œ ํƒ์ƒ‰ ๋ฒ”์œ„๋ฅผ ๋ฐ˜์œผ๋กœ ์ค„์—ฌ๋‚˜๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— O(logn)์˜ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„๋‹ค.
๋…ธ๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ํšŸ์ˆ˜๋Š” ํŠธ๋ฆฌ์˜ ๋†’์ด๋ณด๋‹ค ๋งŽ์„ ์ˆ˜ ์—†๋Š”๋ฐ, ํŠธ๋ฆฌ์˜ ๋†’์ด๊ฐ€ logn์ด๋‹ค.