/
๐Ÿ“™

JS Search and Sort

JavaScript
Table of contents
  • ๊ฒ€์ƒ‰๊ณผ ์ •๋ ฌ

๊ฒ€์ƒ‰๊ณผ ์ •๋ ฌ

๊ฒ€์ƒ‰

์„ ํ˜• ๊ฒ€์ƒ‰

์„ ํ˜• ๊ฒ€์ƒ‰์€ ๋ฐฐ์—ด์˜ ๊ฐ ํ•ญ๋ชฉ์„ ํ•œ ์ธ๋ฑ์Šค์”ฉ ์ˆœ์ฐจ์ ์œผ๋กœ ์ ‘๊ทผํ•˜๋ฉด์„œ ๋™์ž‘

  • ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n)

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

์ด์ง„ ๊ฒ€์ƒ‰์€ ์ •๋ ฌ๋œ ์ž๋ฃŒ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋ฐฐ์—ด์„ ๊ณ„์†ํ•ด์„œ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ๋Š”๋‹ค.

  • ์ค‘๊ฐ„ ๊ฐ’์„ ํ™•์ธํ•ด ์›ํ•˜๋Š” ๊ฐ’๋ณด๋‹ค ํ•ด๋‹น ์ค‘๊ฐ„ ๊ฐ’์ด ํฐ์ง€ ์ž‘์€์ง€ ํ™•์ธ
    • ์›ํ•˜๋Š” ๊ฐ’์ด ์ค‘๊ฐ„ ๊ฐ’๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ ์ค‘๊ฐ„ ๊ฐ’๋ณด๋‹ค ์ž‘์€ ์ชฝ์„ ๊ฒ€์ƒ‰
    • ์›ํ•˜๋Š” ๊ฐ’์ด ์ค‘๊ฐ„ ๊ฐ’๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ ์ค‘๊ฐ„ ๊ฐ’๋ณด๋‹ค ํฐ ์ชฝ์„ ๊ฒ€์ƒ‰

์ •๋ ฌ

๊ฑฐํ’ˆ ์ •๋ ฌ

์ „์ฒด ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ ํ•ญ๋ชฉ์ด ๋‹ค๋ฅธ ํ•ญ๋ชฉ๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ ๋‘ ํ•ญ๋ชฉ์„ ๊ตํ™˜ํ•œ๋‹ค.

  • ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n2)
  • ๊ณต๊ฐ„ ๋ณต์žก๋„: O(1)

์„ ํƒ ์ •๋ ฌ

๊ฐ€์žฅ ์ž‘์€ ํ•ญ๋ชฉ์„ ์ฐพ์•„์„œ ํ•ด๋‹น ํ•ญ๋ชฉ์„ ๋ฐฐ์—ด์˜ ํ˜„ ์œ„์น˜์— ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘

  • ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n2)
  • ๊ณต๊ฐ„ ๋ณต์žก๋„: O(1)

์‚ฝ์ž… ์ •๋ ฌ

๋ฐฐ์—ด์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๋ฉด์„œ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ํ•ญ๋ชฉ๋“ค์„ ๋ฐฐ์—ด ์™ผ์ชฝ์˜ ์ •๋ ฌ๋œ ๋ถ€๋ถ„์œผ๋กœ ์ด๋™์‹œํ‚จ๋‹ค.

  • ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n2)
  • ๊ณต๊ฐ„ ๋ณต์žก๋„: O(1)

๋น ๋ฅธ ์ •๋ ฌ

๊ธฐ์ค€์ ์„ ํš๋“ํ•œ ๋‹ค์Œ ํ•ด๋‹น ๊ธฐ์ค€์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐฐ์—ด์„ ๋‚˜๋ˆˆ๋‹ค. ํ•œ์ชฝ์€ ๊ธฐ์ค€์ ๋ณด๋‹ค ํฐ ํ•ญ๋ชฉ๋“ค, ๋‹ค๋ฅธ ์ชฝ์—๋Š” ๊ธฐ์ค€์ ๋ณด๋‹ค ์ž‘์€ ํ•ญ๋ชฉ๋“ค์ด ์œ„์น˜ํ•œ๋‹ค. ์ด๋Ÿฐ์‹์œผ๋กœ ๋ชจ๋“  ํ•ญ๋ชฉ์ด ์ •๋ ฌ๋  ๋•Œ๊นŒ์ง€ ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณต

  • ๊ฐ€์žฅ ์ด์ƒ์ ์ธ ๊ธฐ์ค€์ ์€ ๋ฐฐ์—ด์˜ ์ค‘๊ฐ„ ๊ฐ’
  • ์ผ๋ฐ˜์ ์œผ๋กœ ๋ถ„ํ•  ๋ถ€๋ถ„์˜ ์ฒซ ๋ฒˆ์งธ ํ•ญ๋ชฉ, ์ค‘๊ฐ„ ํ•ญ๋ชฉ, ๋งˆ์ง€๋ง‰ ํ•ญ๋ชฉ์˜ ์ค‘๊ฐ„ ๊ฐ’์„ ์ทจํ•ด ๊ธฐ์ค€์ ์„ ์–ป๋Š”๋‹ค.
  • ์žฌ๊ท€ ์ •๋ ฌ์ด๊ณ  ๋ถ„ํ•  ์ •๋ณต ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ O(n log n)์œผ๋กœ ๋‚ฎ์ถ˜๋‹ค.
  • ์‹œ๊ฐ„ ๋ณต์žก๋„: ํ‰๊ท  O(n log n), ์ตœ์•…์˜ ๊ฒฝ์šฐ O(n2)
  • ๊ณต๊ฐ„ ๋ณต์žก๋„: O(n log n)

๋น ๋ฅธ ์„ ํƒ

์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ชฉ๋ก์—์„œ K๋ฒˆ์งธ๋กœ ์ž‘์€ ํ•ญ๋ชฉ์„ ์ฐพ๋Š” ์„ ํƒ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๊ธฐ์ค€์ ์„ ์„ ํƒํ•˜๊ณ  ๋ฐฐ์—ด์„ ๋ถ„ํ• ํ•œ ๋‹ค์Œ ํ•œ์ชฝ๋งŒ์„ ์žฌ๊ท€์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  • ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n)

๋ณ‘๋ ฌ ์ •๋ ฌ

๊ฐ ํ•˜์œ„ ๋ฐฐ์—ด์— ํ•˜๋‚˜์˜ ํ•ญ๋ชฉ์ด ์กด์žฌํ•  ๋•Œ๊นŒ์ง€ ๋ฐฐ์—ด์„ ํ•˜์œ„ ๋ฐฐ์—ด๋กœ ๋‚˜๋ˆ„๊ณ  ๊ฐ ํ•˜์œ„ ๋ฐฐ์—ด์„ ์ •๋ ฌ๋œ ์ˆœ์„œ๋กœ ์—ฐ๊ฒฐํ•œ๋‹ค. ๋ณ‘ํ•ฉ ์ •๋ ฌ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(n log n)์ž„์ด ๋ณด์žฅ๋œ๋‹ค.

  • ์‹œ๊ฐ„ ๋ณต์žก๋„ O(n log n)
  • ๊ณต๊ฐ„ ๋ณต์žก๋„: O(n) ๋ณ‘ํ•ฉํ•  n๊ฐœ์˜ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฐ„ ๋ณต์žก๋„๊ฐ€ ํฌ๋‹ค.

๊ณ„์ˆ˜ ์ •๋ ฌ

๊ฐ’๋“ค์„ ๋น„๊ตํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— O(k+n)์‹œ๊ฐ„ ์•ˆ์— ์ˆ˜ํ–‰๋œ๋‹ค. ์ˆซ์ž์— ๋Œ€ํ•ด์„œ๋งŒ ๋™์ž‘ํ•˜๋ฉฐ ํŠน์ • ๋ฒ”์œ„๊ฐ€ ์ฃผ์–ด์ ธ์•ผ ํ•œ๋‹ค. ๋ฐฐ์—ด ์•ˆ ๊ฐ ํ•ญ๋ชฉ์˜ ๋“ฑ์žฅ ํšŸ์ˆ˜๋ฅผ ์„ธ๊ณ , ํ•ด๋‹น ๋“ฑ์žฅ ํšŸ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์‹œ๊ฐ„ ๋ณต์žก๋„: O(k+n)
  • ๊ณต๊ฐ„ ๋ณต์žก๋„: O(k)
logo
Things I've Learned