CS/์๋ฃ๊ตฌ์กฐ
Hash ์๋ฃ๊ตฌ์กฐ์ ํด์ ์ถฉ๋
Hash Table ์ด๋ Hash Table์ ๋ฐ์ดํฐ๋ฅผ key-value ํ์์ผ๋ก ๋ณด๊ดํ์ฌ ๊ฒ์ · ์ฝ์ · ์ญ์ ๋ฅผ O(1) ์๊ฐ ๋ณต์ก๋๋ก ์ํํ ์ ์๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. Hash Table์ key ๊ฐ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์, key ๊ฐ์ ๊ณ ์ ํด์ผํ๋ค. ์ด๋ฌํ ๊ณ ์ ํ key ๊ฐ์ ๋ง๋๋ ์์ ์ ํด์ ํจ์๊ฐ ๋ด๋นํ๋๋ฐ, ๋ํ์ ์ผ๋ก๋ key ๊ฐ์ ASCII ๊ฐ์ ํฉํ์ฌ ๋ง๋๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด ์๋ค. ์ด๋ฌํ ํด์ ํจ์๊ฐ key๋ฅผ ๋ง๋๋ ๊ณผ์ ์์, ์๋ํ์ง ์๊ฒ ์ฐ์ฐํ key ๊ฐ์ด ์ผ์นํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ์ ์๋๋ฐ ๐ก ์ด๋ฅผ ํด์ ์ถฉ๋์ด๋ผ๊ณ ํ๋ค. ํด์ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด, key ๊ฐ์ด ์ค๋ณต๋์ด ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง ์ ์๋ค. ๋ฐ๋ผ์ ํด์ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ๋์ฒํด์ผํ๋ค. ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ฒด์ธ๋ฒ (Seperate C..
๋ณํฉ ์ ๋ ฌ (Merge Sort) ์ ๊ตฌํํด๋ณด์
์ ๋ ฌ์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค. ๋ํ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ด ์๋ค. ๐ก ์ ๋ ฌ์ ์ข ๋ฅ์ ๋ฐฉ์ 1. ๋ฒ๋ธ ์ ๋ ฌ : 2๊ฐ์ ์์๋ฅผ ๊ณ์ ๋น๊ตํด๋๊ฐ๋ฉฐ ๊ฐ์ด ํฐ ์์๊ฐ ์์ ์๋ ๊ฒฝ์ฐ ์์น๋ฅผ ๊ตํํ๋ค. ์ ์ผ ํฐ ๊ฐ(์ค๋ฆ์ฐจ์์ ๊ฒฝ์ฐ)์ ์ ์ผ ๋ค๋ก ๋ณด๋ด์ด ์ต์ข ์ ์ผ๋ก ์ ๋ ฌ๋๋ค. ์๊ฐ ๋ณต์ก๋๋ O(N^2)์ผ๋ก ๋ณผ ์ ์๋ค. ๋ง์ฝ ํ๋ฒ ์ํํ์ ๋ ๋ ์์๊ฐ ์์น๊ฐ ๋ณํ ์ ์ด ์๋ค๋ฉด ์ํ๋ฅผ ๋น ์ ธ๋๊ฐ๋ ๋ฐฉ์์ผ๋ก ์ต์ ํ๋ฅผ ํ ์ ์๋ค. 2. ์ ํ ์ ๋ ฌ : ์์๋ค์ ์ํํ์ฌ ๊ฐ์ฅ ์์ ๊ฐ์ ์ฐพ์ ๋ค(์ ํ), ์ ์ผ ์ ์์์ ์์น๋ฅผ ๋ฐ๊ฟ์ผ๋ก์ ์์ ๊ฐ์ด ๊ณ์ ์์ผ๋ก ์ด๋ํ๋ฉด์ ์ต์ข ์ ์ผ๋ก ์ ๋ ฌ๋๋ค. ์๊ฐ ๋ณต์ก๋๋ O(N^2)์ผ๋ก ๋ณผ ์ ์๋ค. 3. ์ฝ์ ์ ๋ ฌ : 2๋ฒ์งธ ์์๋ถํฐ ์์ํด์ N๋ฒ์งธ ์์๊น์ง N-1๊น์ง์ ..
Linked List ๊ตฌํํด๋ณด๊ธฐ
๋ฆฌ์คํธ์๋ ์ฐ์ํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅ๋์ด ์๋ ArrayList์ ๊ฐ๊ฐ์ ๋ฐ์ดํฐ์์ ๋ค์ ๋ฐ์ดํฐ์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์์ด ์ฐ๊ฒฐ๋๋ LinkedList๊ฐ ์๋ค. ๊ฐ ์๋ฃ๊ตฌ์กฐ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ๋ค. 1๏ธโฃ ArrayList 1. ๋ฐ์ดํฐ๊ฐ ์ฐ์์ ์ผ๋ก ๋์ด๋์ด ์์ด, ํน์ ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ๊ฒฝ์ฐ O(1) ๋ก ์ ๊ทผํ ์ ์๋ค. 2. ์ ํ ํ์์ ๊ฒฝ์ฐ O(n), ์ ๋ ฌ๋์ด ์์ ๋ ์ด๋ถํ์์ ๊ฒฝ์ฐ O(logN) ์ผ๋ก ์ ๊ทผํ ์ ์๋ค. 3. ์ค๊ฐ ์์น์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ · ์ญ์ ํ๋ ๊ฒฝ์ฐ, ๋๋จธ์ง ์์๋ค์ ์์น๋ฅผ ์ฎ๊ฒจ์ผ ํ๊ธฐ ๋๋ฌธ์ O(N) ์ด๋ค. 2๏ธโฃ LinkedList 1. ํน์ ์ธ๋ฑ์ค์ ์์นํ ์์์ ์ ๊ทผํ๋ ๊ฒฝ์ฐ์, ์ํ๋ฅผ ํด์ ์ฐพ์์ผ ํ๋ฏ๋ก O(N) ์ด๋ค. 2. ๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๊ฒฝ์ฐ, ์์ ๋ถ๋ถ..