๐ค ์๊ณ ๋ฆฌ์ฆ - ์๊ฐ๋ณต์ก๋์ ๊ณต๊ฐ๋ณต์ก๋๊ฐ ๋ฌด์์ธ์ง ์ค๋ช ํ์์ค.
5) ์๊ณ ๋ฆฌ์ฆ - ์๊ฐ๋ณต์ก๋์ ๊ณต๊ฐ๋ณต์ก๋๊ฐ ๋ฌด์์ธ์ง ์ค๋ช ํ์์ค.
๋ณต์ก๋๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ์ ๋ํ๋ด๋ ์ฒ๋์ด๋ค.
์๊ฐ ๋ณต์ก๋๋ ํน์ ํ ํฌ๊ธฐ์ ์ ๋ ฅ์ ๋ํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ด ์ผ๋ง๋ ์ค๋ ๊ฑธ๋ฆฌ๋์ง๋ฅผ ์๋ฏธ
๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋ ์ฝ๋๋ผ๋ฉด ์๊ฐ ๋ณต์ก๋๊ฐ ์์ ์๋ก ๋ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์๊ฐ ๋ณต์ก๋๋ ์ฌ๋ฌ๊ฐ์ง ๊ฐ๋ ์ด ์์ง๋ง ๊ทธ ์ค โworst caseโ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๊ธฐํ๋ ๋น -์ค(Big-O) ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค. ์ฆ, ์๋ฌด๋ฆฌ ์ค๋๊ฑธ๋ ค๋ ์ด๊ฒ๋ณด๋จ ์ค๋๊ฑธ๋ฆฌ์ง ์๋ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ์ ํ๊ธฐํ๋ ๊ฒ์ด๋ค.
์๊ฐ ๋ณต์ก๋ ํ์
O(1) - ์์ ์๊ฐ : ์ ๋ ฅ ํฌ๊ธฐ (n)์ ์๊ด ์์ด ์ผ์ ํ ์ฐ์ฐ์ ์ํํ๋ ์๊ฐ ๋ณต์ก๋
O(logโ n) - ๋ก๊ทธ ์๊ฐ : ์ ๋ ฅ ํฌ๊ธฐ (n)์ด ์ปค์ง๋ฉด ์ฐ์ฐ ํ์๊ฐ logโ n์ ๋น๋กํด์ ์ฆ๊ฐํ๋ ์๊ฐ ๋ณต์ก๋
- O(n) - ์ ํ์๊ฐ : ์ ๋ ฅ ํฌ๊ธฐ (n)์ด ์ปค์ง๋ฉด ์ฐ์ฐ ํ์๊ฐ n์ ๋น๋กํด์ ์ฆ๊ฐํ๋ ์๊ฐ ๋ณต์ก๋
O(nยฒ) - 2์ฐจ ์๊ฐ : ์ ๋ ฅ ํฌ๊ธฐ (n)์ด ์ปค์ง๋ฉด ์ฐ์ฐ ํ์๊ฐ nยฒ์ ๋น๋กํด์ ์ฆ๊ฐํ๋ ์๊ฐ ๋ณต์ก๋
- O(2โฟ) - ์ง์ ์๊ฐ : ์ ๋ ฅ ํฌ๊ธฐ (n)๊ฐ ์ปค์ง๋ฉด ์ฐ์ฐ ํ์๊ฐ 2โฟ์ ๋น๋กํด์ ์ฆ๊ฐํ๋ ์๊ฐ ๋ณต์ก๋
์๊ฐ ๋ณต์ก๋๋ฅผ ์ค์ด๋ ๋ฐฉ๋ฒ
๋ฐ๋ณต๋ฌธ์ ์ซ์๋ฅผ ์ค์ธ๋ค.
์ ์ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ค.
์ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ๋ค.
๊ณต๊ฐ ๋ณต์ก๋๋ ํน์ ํ ํฌ๊ธฐ์ ์ ๋ ฅ์ ๋ํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ด ์ผ๋ง๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๋์ง๋ฅผ ์๋ฏธ
๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ค์ด๋ ๋ฐฉ๋ฒ
- ์ฌ๊ทํจ์๋ฅผ ์์ ํ๊ฑฐ๋ ๊ณ ์ ๊ณต๊ฐ๋ณด๋ค๋ ๊ฐ๋ณ ๊ณต๊ฐ์ ์ฌ์ฉํ๋ฉด ๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ต์ํ ํ ์ ์๋ค.
์๊ฐ ๋ณต์ก๋์ ๊ณต๊ฐ ๋ณต์ก๋์ ๊ด๊ณ
์๊ฐ ๋ณต์ก๋์ ๊ณต๊ฐ ๋ณต์ก๋๋ ๋ฐ๋น๋กํ๋ ๊ฒฝํฅ์ด ์๋ค. ์๊ฐ์ ์ ์ฝํ๊ธฐ ์ํด ๋ ๋ง์ ๊ณต๊ฐ์ ์ฌ์ฉํ๊ฑฐ๋, ๋ฐ๋๋ก ๊ณต๊ฐ์ ์ ์ฝํ๊ธฐ ์ํด ๋ ๋ง์ ์๊ฐ์ ์๋นํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
๋ํ, ์ต๊ทผ์๋ ๋ฉ๋ชจ๋ฆฌ ๋น์ฉ์ด ์๋์ ์ผ๋ก ์ ๋ ดํด์ ธ ์๊ฐ ๋ณต์ก๋์ ๋นํด ๊ณต๊ฐ ๋ณต์ก๋์ ์ค์์ฑ์ด ๋ค์ ๋ฎ์์ก๋ค. ๊ทธ๋ฌ๋ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋น ๋ฐ์ดํฐ ๋ถ์ผ๋ ์ ํ๋ ์์์ ๊ฐ์ง ์๋ฒ ๋๋ ์์คํ ์์๋ ์ฌ์ ํ ๊ณต๊ฐ ๋ณต์ก๋๊ฐ ์ค์ํ ๊ณ ๋ ค์ฌํญ์ด๋ค.
๐งพ ์์ ์ง๋ฌธ
Q. ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ ๋ ์ด๋ค ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ํํ ๊ฒ์ธ๊ฐ? ์ด์ ๋?
- ํด์ ํ ์ด๋ธ์ ์ ํํ ๊ฒ์ด๋ค. O(1)์ ํ๊ท ๊ฒ์/์ฝ์ /์ญ์ ์๊ฐ ๋ณต์ก๋๋ก ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ค๋ง ์ต์ ์ ๊ฒฝ์ฐ ์ถฉ๋๋ก ์ธํด O(n)์ด ๋ ์ ์๋ค๋ ์ ์ ๊ณ ๋ คํด์ผ ํ๋ค.
Q. ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํด์ผ ํ๋ ์ํฉ์์ ์ด๋ค ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ๊ฒ์ธ๊ฐ?
- ํ ์ ๋ ฌ์ ์ฌ์ฉํ ๊ฒ. O(nlogn)์ ์ผ๊ด๋ ์ฑ๋ฅ์ ๋ณด์ด๋ฉฐ, ์ค์๊ฐ์ผ๋ก ๋ค์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌ๋ ์ํ๋ก ์ ์งํ๊ธฐ์ ์ ํฉํ๋ค. ๋ํ ์ฐ์ ์์ ํ ํํ๋ก ์ฌ์ฉํ ์ ์์ด ํจ์จ์ ์ด๋ค.
Q. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ฑ์ ์ฌ์ฉ๋๋ ์๋ฃ๊ตฌ์กฐ๋ ๋ฌด์์ด๋ฉฐ, ์ ๊ทธ ๊ตฌ์กฐ๊ฐ ํจ์จ์ ์ธ๊ฐ?
- B-Tree๋ B+Tree๊ฐ ์ฃผ๋ก ์ฌ์ฉ๋๋ค. O(log n)์ ๊ฒ์/์ฝ์ /์ญ์ ์ฑ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ๋์คํฌ ๊ธฐ๋ฐ ์์คํ ์ ์ต์ ํ๋์ด ์์ด ํจ์จ์ ์ด๋ค. ํนํ B+Tree๋ ๋ฆฌํ ๋ ธ๋ ๊ฐ ์ฐ๊ฒฐ๋ก ์์ฐจ ์ ๊ทผ์ด ์ฉ์ดํ๋ค.
Q. ์บ์ ์์คํ ๊ตฌํ์ ์ ํฉํ ์๋ฃ๊ตฌ์กฐ๋ ๋ฌด์์ด๋ฉฐ, ๊ทธ ์ด์ ๋?
- ํด์ ํ ์ด๋ธ์ด ์ ํฉํ๋ค. O(1)๋ก ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฒ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ์บ์ ์์คํ ์ ๋น ๋ฅธ ์๋ต ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑ์ํจ๋ค. ์ถ๊ฐ๋ก, LRU ์บ์ ๊ฐ์ ๊ฒฝ์ฐ ํด์ ํ ์ด๋ธ๊ณผ ์ด์ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉด ํจ์จ์ ์ด๋ค.
Q. ๋คํธ์ํฌ ํจํท ์ฒ๋ฆฌ๋ ์์ ์ค์ผ์ค๋ง์ ์์ฃผ ์ฌ์ฉ๋๋ ์๋ฃ๊ตฌ์กฐ๋ ๋ฌด์์ธ๊ฐ?
- ์ฐ์ ์์ ํ๊ฐ ๋ง์ด ์ฌ์ฉ๋๋ค. ์ฃผ๋ก ํ์ผ๋ก ๊ตฌํ๋๋ฉฐ, O(log n)์ ์ฝ์ ๊ณผ ์ญ์ ์๊ฐ ๋ณต์ก๋๋ก ์ฐ์ ์์ ๊ธฐ๋ฐ์ ํจํท ์ฒ๋ฆฌ๋ ์์ ์ค์ผ์ค๋ง์ ์ ํฉํ๋ค.