Exploration Jan 9, 2025 ํ์ (Search) ์ถ์ ๋น๋: ์ค ๋น์ถํ๊ทธ: ํ์์ ์ข ๋ฅ, ์๊ฐ ๋ณต์ก๋ ํ์์ ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ์์ ๋ด๋ถ ํ์๊ณผ ์ธ๋ถ ํ์์ผ๋ก ๊ตฌ๋ถ ๋ด๋ถ ํ์: ์ฃผ๊ธฐ์ต์ฅ์น ์ฌ์ฉ, ์ ์ ์์ ๋น ๋ฅด๊ฒ ํ์ ์ธ๋ถ ํ์: ๋ณด์กฐ๊ธฐ์ต์ฅ์น ํจ๊ป ์ฌ์ฉ, ๋ง์ ์์ ๋๋ฆฌ๊ฒ ํ์ ํ์์ ์ ํ โญ ์ ํ ํ์: ์์ฐจ์ ์ผ๋ก ๋น๊ต ์ด๋ถ ํ์: ์ ๋ฐ์ฉ ๋๋ ๊ฐ๋ฉฐ ํ์ ๋ณด๊ฐ ํ์: ์ฐพ์ ๊ฐ์ ์์น๊ฐ์ ์์ํด์ ๊ฒ์ํ๋ ์ฌ์ ์ ํ์ ๋ธ๋ก ํ์: ๋๋์ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฃน๋ณ๋ก ๋ธ๋กํ, ์ธ๋ฑ์ฑ์ ํตํด ํ์ ์ด์ง ํธ๋ฆฌ ํ์: ๊ฒ์ ๋์ ๋ฐ์ดํฐ๋ฅผ ์ด์ง ํธ๋ฆฌ๋ก ๋ณํํ ๋ค ํ์ ํด์ฑ ํ์: ํด์ฑ ํจ์๋ฅผ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ ๋ณต์ก๋ ๊ณต๊ฐ ๋ณต์ก๋ ์ฌ์ฉ๋๋ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ ์๊ณ ๋ฆฌ์ฆ์ ํ์ง์ ์ํฅ์ ๋ฏธ์น๋ ๋น์ค์ด ๋ฎ์ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋๊ณผ ๊ด๋ จ๋จ ์๊ฐ ๋ณต์ก๋ ์ฐ์ฐ์ด ์ํ๋๋ ํ์ ํ๊ฒฝ์ ๋ฐ๋ผ ์คํ์๊ฐ์ด ๋ฌ๋ผ์ง. ํ์๊ฐ ์ ํํ ๊ธฐ์ค์ด ๋จ ๋ชจ๋ ์ฐ์ฐ์ด ๋ค ๋ฐ์๋์ง๋ ์์์ ์ ํํ์ง ์์ง๋ง ๋๋ต์ ์ธ ํ์ ์ฐ์ถ ์ต์ ์ ๊ฒฝ์ฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฐ์ถ ๋น ์ค ํ๊ธฐ๋ฒ์ ์ฌ์ฉํจ ๋น ์ค(O) ํ๊ธฐ๋ฒ O(1): ์ผ์ ํ ์ํ ํ์๋ฅผ ๊ฐ์ง. ๋ฐ์ดํฐ์ ๊ฐ์์ ์๊ด์์ด ๊ณ ์ ๋ ํ์๋ก ์คํ O(logN): ์ ๋ ฅ ๋ฐ์ดํฐ ์์ ๋ฐ๋ผ ์ฐ์ฐ ํ์๊ฐ ๋์ด๋๋ ํญ์ด ์ ์ ์ค์ด๋ฆ. ์ด๋ถํ์, ์ด์ง ํธ๋ฆฌ ํ์์ ์ด์ฉ O(N): ์ฐ์ฐํ์๊ฐ ์ผ์ ํ๊ฒ ์ฆ๊ฐ(๋น๋ก). ์์ด ๊ณ์ฐ์ด๋ ์์ฐจ ํ์์ ํ์ฉ O(NlogN): ์ ๋ ฅ ๋ฐ์ดํฐ ์์ ๋ฐ๋ผ ํ์๊ฐ ๋์ด๋๋๊ฒ ์ ์ ์ปค์ง. ํต ์ ๋ ฌ, ํ ์ ๋ ฌ, ๋ณํฉ ์ ๋ ฌ์ ์ฌ์ฉ O(Nยฒ): ๋ฐ์ดํฐ ์์ ๋ฐ๋ผ ์ฐ์ฐ ํ์๊ฐ ๋ฐ์ดํฐ ์์ ์ ๊ณฑ๋งํผ ํ์. ๋ฒ๋ธ ์ ๋ ฌ, ์ ํ ์ ๋ ฌ์ ์ฌ์ฉ O(2^N): ์ฐ์ฐ ํ์๊ฐ ๋ฐ์ดํฐ ์์ ์ง์์น๋งํผ ํ์. ํผ๋ณด๋์น ์์ด ๋ฑ์ ์ฌ๊ทํธ์ถ O(N!): ๊ฐ์ฅ ๋๋ฆฐ ์๊ณ ๋ฆฌ์ฆ. ์ฐ์ฐ ํ์๊ฐ ์ ๋ ฅ ๋ฐ์ดํฐ ์์ ํฉํ ๋ฆฌ์ผ ์ฃผ์ ํ์ ์๊ณ ๋ฆฌ์ฆ ์ ํ ํ์ ์์ฐจ์ ์ผ๋ก ๋น๊ต ๋ฐ์ดํฐ์ ๊ฐ์๋ ์ ๋ ฌ ์ฌ๋ถ๋ฅผ ์์ง ๋ชปํด๋ ์ฌ์ฉ ๊ฐ๋ฅ ๋จ์๋น๊ต, ๋ฐ์ดํฐ ์๊ฐ ์ ์ ๋ ํ์ฉ ์๊ฐ๋ณต์ก๋: O(N) ๋น๊ต ํ์ ํ๊ท : (N+1)/2 ์์: 5๊ฐ์ ๋ฐ์ดํฐ ์ค 22๋ฅผ ํ์ํ๋ ๊ฒฝ์ฐ 22๊ฐ 1๋ฒ์งธ์ผ ๋: 1ํ ๋น๊ต 22๊ฐ 3๋ฒ์งธ์ผ ๋: 3ํ ๋น๊ต 22๊ฐ N๋ฒ์งธ์ผ ๋: Nํ ๋น๊ต ์ด๋ถ(Binary) ํ์ ๋๋ ์ง ๋ฐ์ดํฐ ๊ทธ๋ฃน ์ค ๋์ ๋น๊ต๋ฅผ ํตํด ๋ค์ ์ ๋ฐ์ผ๋ก ๋๋ ๋ฐ์ดํฐ ๊ฐ์ ํ์ , ๋ฐ์ดํฐ ์ ๋ ฌ ํ์ ์ค๊ฐ์ผ๋ก ์๋ผ์ ์ค๊ฐ๊ฐ๊ณผ์ ๋์ ๋น๊ต๋ก ํ์ ์์, ์ค๊ฐ, ๋๊ฐ ์ฌ์ฉ ์์ ์์น๊ฐ ๋ ์์น๋ณด๋ค ์ปค์ง๋ฉด ํ์ ์ข ๋ฃ ํด์(Hash) ํ์ ํด์ ํจ์๋ฅผ ์ฌ์ฉ ์๊ฐ๋ณต์ก๋: O(1) ํจ์๋ฅผ ํตํด ์ ์ฅ ์์น๊ฐ ์ถฉ๋ํ ๊ฒฝ์ฐ ์กฐ์น ํ์ ์ฃผ์ ์ฉ์ด ํ ์ฃผ์: ํด์ ํ ์ด๋ธ ๋ด๋ถ ์ธ๋ฑ์ค ํค: ํด์ฑ ํจ์์ ์ ๋ ฅ๊ฐ์ด ๋๋ ๋ฐ์ดํฐ ๋ฒํท: ์ฌ๋กฏ๋ค์ ์งํฉ. ํ ์ฃผ์์ ์ฌ๋ฌ ๋ฒํท ์กด์ฌ ๊ฐ๋ฅ ์ฌ๋กฏ: ํ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ ๊ณต๊ฐ ํด์ ํ ์ด๋ธ: ๋ค์์ ํ ์ฃผ์์ ๋ฒํท์ผ๋ก ๊ตฌ์ฑ๋ ๊ธฐ์ต ๊ณต๊ฐ ๋์์ด(Synonym): ์ถฉ๋์ด ์ผ์ด๋ ์ฌ๋กฏ์ ์งํฉ ์ถฉ๋(Collision): ์๋ก ๋ค๋ฅธ ์ฌ๋กฏ์ด ๊ฐ์ ํค๋ฅผ ๊ฐ์ง๋ ํ์ ํ๋ก๋น(Probing): ์ถฉ๋ ๋ฐ์ ์ ๋ค์ ๊ณต๊ฐ์ผ๋ก ์ด๋ ์ฒด์ธ๋ฒ(Chaining): ์ฐ๊ฒฐ ๋ฆฌ์คํธ ํํ๋ก ๊ฐ์ ํ ์ฃผ์ ๋ด์์ ์ฌ๋กฏ์ ์ด์ด์ ์ค๋ฒํ๋ก์ฐ ํด๊ฒฐ ํด์ ํจ์์ ์ข ๋ฅ โญ ์ ์ฐ๋ฒ(Division): ๋๋ ๋๋จธ์ง๊ฐ์ ์ด์ฉํด ์ ์ฅ์์น ๊ฒฐ์ ํด๋ฉ๋ฒ(Folding): ๋ถ๋ถ๋ณ ์ซ์์ ํฉ์ฐ์ฐ, XOR ์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ก ์ ์ฅ ์์น ๊ฒฐ์ ์ ๊ณฑ๋ฒ(Square): ์ ๊ณฑํ ๊ฒฐ๊ณผ์ ์ผ๋ถ๋ถ์ผ๋ก ์ ์ฅ ์์น ๊ฒฐ์ ์ซ์ ๋ถ์๋ฒ(Digit Analysis): ์ซ์ ๋ถํฌ๊ฐ ๊ณ ๋ฅธ ๋ถ๋ถ์ ๋ถ์ํ์ฌ ์ ์ฅ์์น ๊ฒฐ์ ๊ธฐ์ ๋ณํ๋ฒ(Radix Conversion): ํค๊ฐ์ ๋ค๋ฅธ ์ง๋ฒ์ผ๋ก ๋ณํํ์ฌ ์ ์ฅ ์์น ๊ฒฐ์ ๋ฌด์์๋ฒ(Random): ๋์๋ฅผ ์ด์ฉ ํด์ ํจ์์ ์กฐ๊ฑด ์ถฉ๋์ ์ต์ํํ ์ ์์ด์ผ ํจ ๋ณต์กํ์ง ์๊ณ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ๋ ์ ์์ด์ผ ํจ