๐ ๊ณต๋ถํ ์๋ฃ
- ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ ์ธํฐ๋ทฐ
- Big-O, Big-Theta, Big-Omega ์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์.
- ๋ค๋ฅธ ๊ฒ์ ์ฌ์ฉํ์ง ์๊ณ , Big-O๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๊ฐ ์์๊น์?
- O(1)์ O(N^2) ๋ณด๋ค ๋ฌด์กฐ๊ฑด์ ์ผ๋ก ๋น ๋ฅธ๊ฐ์?
- ์ผ๋ฐ ๋ฐฐ์ด๊ณผ, ๋งํฌ๋ ๋ฆฌ์คํธ๋ฅผ ๋น๊ตํด ์ฃผ์ธ์.
- ๋งํฌ๋ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํด์ ๊ตฌํํ ์ ์๋ ๋ค๋ฅธ ์๋ฃ๊ตฌ์กฐ์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์.
- ์คํ 2๊ฐ๋ก ํ๋ฅผ, ํ 2๊ฐ๋ก ์คํ์ ๋ง๋๋ ๋ฐฉ๋ฒ๊ณผ, ๊ทธ ์๊ฐ๋ณต์ก๋์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์.
- ์๊ฐ๋ณต์ก๋๋ฅผ ์ ์งํ๋ฉด์, ๋ฐฐ์ด๋ก ์คํ๊ณผ ํ๋ฅผ ๊ตฌํํ ์ ์์๊น์?
- Prefix, Infix, Postfix ์ ๋ํด ์ค๋ช ํ๊ณ , ์ด๋ฅผ ์คํ์ ํ์ฉํด์ ๊ณ์ฐ/ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์.
- Deque๋ ์ด๋ป๊ฒ ๊ตฌํํ ์ ์์๊น์?
- (C++ ํ์ ) Deque์ Random Access ์๊ฐ๋ณต์ก๋๋ O(1) ์ ๋๋ค. ์ด๊ฒ ์ด๋ป๊ฒ ๊ฐ๋ฅํ๊ฑธ๊น์?
- ๊ฐ์ด ์ฃผ์ด์ก์ ๋, ์ด๋ป๊ฒ ํ๋ฉด ์ถฉ๋์ด ์ต๋ํ ์ ์ ํด์ ํจ์๋ฅผ ์ค๊ณํ ์ ์์๊น์?
- ํด์๊ฐ์ด ์ถฉ๋ํ์ ๋, ์ด๋ค ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ ์ ์์๊น์?
- ๋ณธ์ธ์ด ์ฌ์ฉํ๋ ์ธ์ด์์๋, ์ด๋ค ๋ฐฉ์์ผ๋ก ํด์ ์ถฉ๋์ ์ฒ๋ฆฌํ๋์?
- Double Hashing ์ ์ฅ์ ๊ณผ ๋จ์ ์ ๋ํด์ ์ค๋ช ํ๊ณ , ๋จ์ ์ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์์ง ์ค๋ช ํด ์ฃผ์ธ์.
- Load Factor์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์. ๋ณธ์ธ์ด ์ฌ์ฉํ๋ ์ธ์ด์์์ ํด์ ์๋ฃ๊ตฌ์กฐ๋ Load Factor์ ๊ด๋ จํ ์ ์ฑ ์ด ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด ์๋์?
- ๋ค๋ฅธ ์๋ฃ๊ตฌ์กฐ์ ๋น๊ตํ์ฌ, ํด์ ํ ์ด๋ธ์ ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์์ ์ฌ๊ฐํ ์์ค์ Race Condition ๋ฌธ์ ์ ๋น ์ง ์ํ์ด ์์ต๋๋ค. ์ฑ๋ฅ ๊ฐ์๋ฅผ ์ต์ํ ํ ์ฑ๋ก ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ค๊ณํด ๋ณด์ธ์.
- ๊ทธ๋ํ์ ํธ๋ฆฌ์ ์ฐจ์ด๊ฐ ๋ฌด์์ธ๊ฐ์?
- ์ด์งํ์ํธ๋ฆฌ์์ ์ค์ ํ์์ ํ๊ฒ ๋๋ฉด, ๊ทธ ๊ฒฐ๊ณผ๋ ์ด๋ค ์๋ฏธ๋ฅผ ๊ฐ์ง๋์?
- ์ด์งํ์ํธ๋ฆฌ์ ์ฃผ์ ์ฐ์ฐ์ ๋ํ ์๊ฐ๋ณต์ก๋๋ฅผ ์ค๋ช ํ๊ณ , ์ ๊ทธ๋ฐ ์๊ฐ๋ณต์ก๋๊ฐ ๋์ถ๋๋์ง ์ค๋ช ํด ์ฃผ์ธ์.
- ์ด์งํ์ํธ๋ฆฌ์ ํ๊ณ์ ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- ์ด์งํ์ํธ๋ฆฌ์ ๊ฐ ์ฝ์ , ์ญ์ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํ๊ณ , ์ด๋ค์์ผ๋ก ๊ฐ์ ์ฝ์ ํ๋ฉด ํธํฅ์ด ๋ฐ์ํ ๊น์?
- ์ด์งํ์ํธ๋ฆฌ์ ๋์ผํ ๋ก์ง์ ์ฌ์ฉํ๋ฉด, ์ผ์งํ์ํธ๋ฆฌ๋ ์ ์ํ ์ ์์๊น์? ์ ๋๋ค๋ฉด, ๊ทธ ์ด์ ์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์.
- ํ์ ๋ฐฐ์ด๋ก ๊ตฌํํ๋ค๊ณ ๊ฐ์ ํ๋ฉด, ์ด๋ป๊ฒ ๊ฐ์ ์ ์ฅํ ์ ์์๊น์?
- ํ์ ์ฝ์ , ์ญ์ ๋ฐฉ์์ ๋ํด ์ค๋ช ํ๊ณ , ์ ์ด์งํ์ํธ๋ฆฌ์ ๋ฌ๋ฆฌ ํธํฅ์ด ๋ฐ์ํ์ง ์๋์ง ์ค๋ช ํด ์ฃผ์ธ์.
- ํ ์ ๋ ฌ์ ์๊ฐ๋ณต์ก๋๋ ์ด๋ป๊ฒ ๋๋์? Stable ํ๊ฐ์?
- Red Black Tree๋ ์ด๋ป๊ฒ ๊ท ํ์ ์ ์งํ ์ ์์๊น์?
- Red Black Tree์ ์ฃผ์ ์ฑ์ง 4๊ฐ์ง์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์.
- 2-3-4 Tree, AVL Tree ๋ฑ์ ๋ค๋ฅธ BBST ๊ฐ ์์์๋, ์ Red Black Tree๊ฐ ๋ง์ด ์ฌ์ฉ๋ ๊น์?
- Quick Sort์ Merge Sort๋ฅผ ๋น๊ตํด ์ฃผ์ธ์.
- Quick Sort์์ O(N^2)์ด ๊ฑธ๋ฆฌ๋ ์์๋ฅผ ๋ค๊ณ , ์ด๋ฅผ ๊ฐ์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์.
- Stable Sort๊ฐ ๋ฌด์์ด๊ณ , ์ด๋ค ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด Stable ํ์ง ์ค๋ช ํด ์ฃผ์ธ์.
- Merge Sort๋ฅผ ์ฌ๊ท๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ตฌํํ ์ ์์๊น์?
- Radix Sort์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์.
- Bubble, Selection, Insertion Sort์ ์๋๋ฅผ ๋น๊ตํด ์ฃผ์ธ์.
- ๊ฐ์ดย ๊ฑฐ์ย ์ ๋ ฌ๋์ด ์๊ฑฐ๋, ์์ ์ ๋ ฌ๋์ด ์๋ค๋ฉด, ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ ๋น๊ต ๊ฒฐ๊ณผ๋ ๋ฌ๋ผ์ง๊น์?
- ๋ณธ์ธ์ด ์ฌ์ฉํ๊ณ ์๋ ์ธ์ด์์ , ์ด๋ค ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์ ๋ ฌ ํจ์๋ฅผ ์ ๊ณตํ๊ณ ์์๊น์?
- ์ ๋ ฌํด์ผ ํ๋ ๋ฐ์ดํฐ๋ 50G ์ธ๋ฐ, ๋ฉ๋ชจ๋ฆฌ๊ฐ 4G๋ผ๋ฉด, ์ด๋ค ๋ฐฉ์์ผ๋ก ์ ๋ ฌ์ ์งํํ ์ ์์๊น์?
9. ๊ทธ๋ํ ์๋ฃ๊ตฌ์กฐ์ ๋ํด ์ค๋ช ํ๊ณ , ์ด๋ฅผ ๊ตฌํํ ์ ์๋ ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์.
- ๊ฐ ๋ฐฉ๋ฒ์ ๋ํด, "๋ ์ ์ ์ด ์ฐ๊ฒฐ๋์๋์ง" ํ์ธํ๋ ์๊ฐ๋ณต์ก๋์ "ํ ์ ์ ์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ ์ ์ ์ฐพ๋" ์๊ฐ๋ณต์ก๋, ๊ทธ๋ฆฌ๊ณ ๊ณต๊ฐ๋ณต์ก๋๋ฅผ ๋น๊ตํด ์ฃผ์ธ์.
- ์ ์ ์ ๊ฐ์๊ฐ N๊ฐ, ๊ฐ์ ์ ๊ฐ์๊ฐ N^3 ๊ฐ๋ผ๋ฉด, ์ด๋ค ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ ๊ฒ์ด ํจ์จ์ ์ผ๊น์?
- ์ฌ์ดํด์ด ์๋ ๊ทธ๋ํ๋ ๋ชจ๋ ํธ๋ฆฌ์ธ๊ฐ์? ๊ทธ๋ ์ง ์๋ค๋ฉด, ์์๋ฅผ ๋ค์ด์ฃผ์ธ์.
- ํธ๋ฆฌ์์๋ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ ์ ์์๊น์? (์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ง ์๊ณ )
- ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์์, ํ์ ์ฌ์ฉํ์ง ์๊ณ ๊ตฌํํ๋ค๋ฉด ์๊ฐ๋ณต์ก๋๊ฐ ์ด๋ป๊ฒ ๋ณํํ ๊น์?
- ์ ์ ์ ๊ฐ์๊ฐ N๊ฐ, ๊ฐ์ ์ ๊ฐ์๊ฐ N^3 ๊ฐ๋ผ๋ฉด, ์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ด ํจ์จ์ ์ผ๊น์?
- A* ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์. ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ค์ต์คํธ๋ผ์ ๋น๊ตํด์ ์ด๋ค ์ฑ๋ฅ์ ๋ผ๊น์?
- ์์ ๊ฐ์ ์ด ์์ ๋์, ์์ ์ฌ์ดํด์ด ์์ ๋ ๊ฐ๊ฐ ์ด๋ค ์ต๋จ๊ฑฐ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ผ ํ๋์ง ์ค๋ช ํด ์ฃผ์ธ์.
- ์ฌ๊ท ํจ์์ ๋์ ๊ณผ์ ์ Call Stack์ ํ์ฉํด์ ์ค๋ช ํด ์ฃผ์ธ์.
- ์ธ์ด์ ์คํ์ ๋ฐ๋ผ, ์ฌ๊ทํจ์์ ์ต์ ํ๋ฅผ ์งํํด์ฃผ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ค ๊ฒฝ์ฐ์ ์ฌ๊ทํจ์์ ์ต์ ํ๊ฐ ๊ฐ๋ฅํ๋ฉฐ, ์ด๋ฅผ ์ด๋ป๊ฒ ์ต์ ํ ํ ์ ์์์ง ์ค๋ช ํด ์ฃผ์ธ์.
- Kruskal ์๊ณ ๋ฆฌ์ฆ์์ ์ฌ์ฉํ๋ Union-Find ์๋ฃ๊ตฌ์กฐ์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์.
- Kruskal ๊ณผ Prim ์ค, ์ด๋ค ๊ฒ์ด ๋ ๋น ๋ฅผ๊น์?
- Kruskal ๊ณผ Prim ์๊ณ ๋ฆฌ์ฆ์ ํตํด ์ป์ด์ง ๊ฒฐ๊ณผ๋ฌผ์ ๋ฌด์กฐ๊ฑด ํธ๋ฆฌ์ธ๊ฐ์? ๋ง์ฝ ๊ทธ๋ ๋ค๋ฉด ์ฆ๋ช ํด ์ฃผ์ธ์. ๊ทธ๋ ์ง ์๋ค๋ฉด, ๋ฐ๋ก๋ฅผ ์ค๋ช ํด ์ฃผ์ธ์.
13. Thread Safe ํ ์๋ฃ๊ตฌ์กฐ๊ฐ ์์๊น์? ์๋ค๋ฉด, ์ด๋ป๊ฒ Thread Safe ํ๊ฒ ๊ตฌ์ฑํ ์ ์์๊น์?
- ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์๊ณ ์๋ค๋ฉด, ์กฐ๊ธ ๋ ๋น ๋ฅธ Thread Safe ํ ์ฐ์ฐ์ ๋ง๋ค ์ ์์๊น์?
- ์ฌ์ฉํ๊ณ ์๋ ์ธ์ด์ ์๋ฃ๊ตฌ์กฐ๋ Thread Safe ํ๊ฐ์? ๊ทธ๋ ์ง ์๋ค๋ฉด, Thread Safe ํ Wrapped Data Structure ๋ฅผ ์ ๊ณตํ๊ณ ์๋์?
14. ๋ฌธ์์ด์ ์ ์ฅํ๊ณ , ์ฒ๋ฆฌํ๋ ์ฃผ์ ์๋ฃ๊ตฌ์กฐ ๋ฐ ์๊ณ ๋ฆฌ์ฆ (Trie, KMP, Rabin Karp ๋ฑ) ์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์.
- Lower Bound, Upper Bound ๋ ๋ฌด์์ด๊ณ , ์ด๋ฅผ ์ด๋ป๊ฒ ๊ตฌํํ ์ ์์๊น์?
- ์ด์งํ์์ ๋ ผ๋ฆฌ๋ฅผ ์ ์ฉํ์ฌ ์ผ์งํ์์ ์์ฑํ๋ค๊ณ ๊ฐ์ ํ๋ค๋ฉด, ์๊ฐ๋ณต์ก๋๋ ์ด๋ป๊ฒ ๋ณํํ ๊น์? (์ค์ ์กด์ฌํ๋ ์ผ์งํ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌด์ํ์ธ์!)
- ๊ธฐ์กด ์ด์งํ์ ๋ก์ง์์ ๋ถ๋ฑํธ์ ๋ฒ์๊ฐ ๋ฐ๋๋ค๋ฉด, (ex. <= ๋ผ๋ฉด <๋ก, <์ด๋ผ๋ฉด <= ๋ก) ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๊น์?
- ๊ทธ๋ ๋ค๋ฉด, ์ด๋ค ๊ฒฝ์ฐ์ ๊ฐ๊ฐ์ ๊ธฐ๋ฒ์ ์ฌ์ฉํ ์ ์์๊น์?
- ๊ทธ๋ ๋ค๋ฉด, ๋์ ๊ณํ๋ฒ์ผ๋ก ํ ์ ์๋ ๋ชจ๋ ๋ฌธ์ ๋ ์ฌ๊ท๋ก ๋ณํํ์ฌ ํ ์ ์๋์?