ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 2

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์ด์ง„ ํƒ์ƒ‰ Binary Search

์ด์ง„ ํƒ์ƒ‰(Binary Search) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์š”์†Œ๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ ๋˜๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ(sort)๋œ ๋ฐฐ์—ด์—์„œ ์›ํ•˜๋Š” ํ‚ค ๊ฐ’์„ ๊ฐ–๋Š” ์š”์†Œ๋ฅผ ๋งŒ๋‚  ๋•Œ ๊นŒ์ง€ ํƒ์ƒ‰. ์„ ํ˜• ํƒ์ƒ‰๋ณด๋‹ค ์ข€ ๋” ๋น ๋ฅด๊ฒŒ ํƒ์ƒ‰ ๊ฐ€๋Šฅ ๊ฐ’ 53์„ ํƒ์ƒ‰ 1. ๋ฐฐ์—ด์˜ ์ค‘์•™ Binary[5] ์™€ ๋น„๊ต, 53 > Binary[5] => Binary[5] ์ด์ „ ๋ฐฐ์—ด ํƒ์ƒ‰ ๋Œ€์ƒ์—์„œ ์ œ์™ธ 2. Binary[6] ~ Binary[10]์˜ ์ค‘์•™ Binary[8] ๊ณผ ๋น„๊ต, 53 Binary[8] ์ดํ›„ ๋ฐฐ์—ด ํƒ์ƒ‰ ๋Œ€์ƒ์—์„œ ์ œ์™ธ 3. Binary[6] ~ Binary[7]์˜ ์ค‘์•™ Binary[6] ๊ณผ ๋น„๊ต, 53 == Binary[6] => ํƒ์ƒ‰ ์„ฑ๊ณต ๋งจ ์•ž์˜ ์ธ๋ฑ์Šค๋ฅผ pl, ๋งจ ๋์˜ ์ธ๋ฑ์Šค๋ฅผ pr, ์ค‘์•™ ์ธ๋ฑ์Šค๋ฅผ pc๋ผ๊ณ  ํ•  ๋•Œ ..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„ ํ˜• ํƒ์ƒ‰ Linear Search

์„ ํ˜• ํƒ์ƒ‰(Linear Search) ์•Œ๊ณ ๋ฆฌ์ฆ˜ or ์ˆœ์ฐจ ํƒ์ƒ‰(Sequential Search) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์š”์†Œ๊ฐ€ ์ง์„  ๋ชจ์–‘์œผ๋กœ ๋Š˜์–ด์ง„ ๋ฐฐ์—ด์—์„œ ์›ํ•˜๋Š” ํ‚ค ๊ฐ’์„ ๊ฐ–๋Š” ์š”์†Œ๋ฅผ ๋งŒ๋‚  ๋•Œ ๊นŒ์ง€ ๋งจ ์•ž๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ํƒ์ƒ‰ ์œ„ ๋ฐฐ์—ด์—์„œ ์š”์†Œ๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉด ๊ฐ’ 5๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉด Linear[2] ์—์„œ ํƒ์ƒ‰์— ์„ฑ๊ณตํ•˜์ง€๋งŒ ๊ฐ’ 3์„ ํƒ์ƒ‰ํ•˜๋ฉด Linear์— ๊ฐ’ 3์ด ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํƒ์ƒ‰์— ์‹คํŒจํ•œ๋‹ค. ์œ„ ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด ๋ฐฐ์—ด ํƒ์ƒ‰์˜ ์ข…๋ฃŒ ์กฐ๊ฑด์ด ๋‹ค์Œ 2๊ฐœ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์กฐ๊ฑด 1 : ํƒ์ƒ‰ํ•  ๊ฐ’๊ณผ ๊ฐ™์€ ์š”์†Œ๋ฅผ ๋ฐœ๊ฒฌํ•œ ๊ฒฝ์šฐ (ํƒ์ƒ‰ ์„ฑ๊ณต) ์กฐ๊ฑด 2 : ํƒ์ƒ‰ํ•  ๊ฐ’์„ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋ฐฐ์—ด์˜ ๋์„ ์ง€๋‚˜๊ฐ„ ๊ฒฝ์šฐ (ํƒ์ƒ‰ ์‹คํŒจ) ๋ฐฐ์—ด์˜ ์š”์†Œ ์ˆ˜๊ฐ€ n๊ฐœ ์ผ ๋•Œ ์กฐ๊ฑด 1,2๋ฅผ ํŒ๋‹จํ•˜๋Š” ํšŸ์ˆ˜๋Š” ํ‰๊ท  n/2ํšŒ ์ด๋‹ค. => O(n) ๋ฉ”์„œ๋“œ seqSea..