π Computer Science/β Data Structure
μλ£κ΅¬μ‘° μ 리
μλ£κ΅¬μ‘° μ 리 1. μ ν ꡬ쑰μ λΉμ ν ꡬ쑰 2020.04.24 - [π Computer Science/β Data Structure] - μ ν ꡬ쑰(Linear Structure)μ λΉμ ν ꡬ쑰(Non-Linear Structure) μ ν ꡬ쑰(Linear Structure)μ λΉμ ν ꡬ쑰(Non-Linear Structure) 1. μ ν ꡬ쑰 λ°μ΄ν°λ₯Ό μ°μμ μΌλ‘ μ°κ²°λμ΄ μλ λͺ¨μμΌλ‘ ꡬμ±νλ€. 1) λ°°μ΄(Array) λμΌν μλ£νμ λ°μ΄ν°λ€μ΄ κ°μ ν¬κΈ°λ‘ λμ΄λμ΄ μμλ₯Ό κ°κ³ μλ μ§ν©μ΄λ€. λΉ λ₯Έ μ κ·Ό(O(1))κ³Ό random accessκ° tech-interview.tistory.com 2. μ΄μ§ νΈλ¦¬ 2020.04.24 - [π Computer Science/β Data Structure] - ..
![μκ³ λ¦¬μ¦ μ±λ₯ λΆμ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrqGxS%2FbtqE1vzxAs0%2FnQGIc0jOZQyTQEZzQjhJo1%2Fimg.png)
μκ³ λ¦¬μ¦ μ±λ₯ λΆμ
μκ³ λ¦¬μ¦μ νκ°νλ λ° μμ΄ μν μκ°κ³Ό λ©λͺ¨λ¦¬ μ¬μ©λμ νκ°κΈ°μ€μΌλ‘ λλλ°, μν μκ°μ ν΄λΉλλ κ²μ΄ μκ° λ³΅μ‘λ, λ©λͺ¨λ¦¬ μ¬μ©λμ ν΄λΉλλ κ²μ΄ κ³΅κ° λ³΅μ‘λμ΄λ€. λ³΄ν΅ μκ³ λ¦¬μ¦μ μ±λ₯ λΆμμ 볡μ‘λλ₯Ό κ³μ°νμ¬ μ κ·Όμ νκΈ°λ²μΌλ‘ λνλΈλ€. μ κ·Όμ λΆμ μ λ ₯ κ°μ κ°μμ λ°λΌ μκ³ λ¦¬μ¦μ μν μκ°μ λ°νμΌλ‘ μκ³ λ¦¬μ¦μ ν¨μ¨μ±μ νκ°νλ€. 1) λΉ μ€ νκΈ°λ² O μ κ·Όμ μνμ μΌλ‘ μ κ·Όμ μ¦κ°μ¨μ΄ f(N)μ λμ§ μλ λͺ¨λ ν¨μλ€μ μ§ν©μ΄λ€. μ¦, μ΅κ³ μ°¨νμ μ°¨μκ° f(N)κ³Ό κ°κ±°λ λ μμ ν¨μλ€μ μ§ν©μ΄λ€. f(N)
![ν΄μ(Hash)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmmddN%2FbtqEghotvnM%2FzzOmghMOKmR1eHgaw7JeFK%2Fimg.png)
ν΄μ(Hash)
ν΄μ(Hash) μ μ μμμΌλ‘ λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκΈ° μν΄ μμμ κΈΈμ΄ λ°μ΄ν°λ₯Ό κ³ μ λ κΈΈμ΄μ λ°μ΄ν°λ‘ 맀ννλ κ²μ΄λ€. ν΄μ ν¨μλ₯Ό μ¬μ©νμ¬ μ μ₯ν λ°μ΄ν°μ μ°κ΄λ κ³ μ ν μ«μλ₯Ό λ§λ λ€ μ΄λ₯Ό μΈλ±μ€λ‘ μ¬μ©νλ€. λ΄λΆμ μΌλ‘ λ°°μ΄μ μ΄μ©νμ¬ λ°μ΄ν°λ₯Ό μ μ₯νκΈ° λλ¬Έμ λΉ λ₯Έ κ²μ μλ(O(1))λ₯Ό κ°λλ€. 1. ν΄μ ν¨μ(Hash Function) μ μ₯ν λ°μ΄ν°μ μ°κ΄λ κ³ μ ν μ«μ(Hash Code)λ₯Ό λ§λ λ€. μ μ₯λλ κ°λ€μ key κ°μ ν΄μ ν¨μλ₯Ό ν΅ν΄ μμ λ²μμ κ°λ€λ‘ λ°κΎΌλ€. 2. ν΄μ ν μ΄λΈ ν΄μ ν μ΄λΈμ μμκ° μ μ₯λ μλ¦¬κ° μμμ κ°μ μν΄ κ²°μ λλ μλ£κ΅¬μ‘°λ‘ μμμ μμλ₯Ό ν΄μ ν μ΄λΈμ μ μ₯νλ €λ©΄ ν΄μ ν¨μλ₯Ό ν΅ν΄ ν΄μ κ°μ κ³μ°νκ³ ν΄μ κ°μ λ°λΌ μ μ₯νλ€. 3. μΆ©λ(Collisi..
![κ·Έλν(Graph)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVHA9G%2FbtrEjMDtaoA%2FMj5doTqyXNaPQIy9Bu57A0%2Fimg.png)
κ·Έλν(Graph)
κ·Έλν(Graph) μ μ (Vertex)κ³Ό κ°μ (Edge)μ μ§ν©μ΄λ€. λ°©ν₯μ±(Directed) κ·Έλν: κ°μ μ λ°©ν₯μ±μ΄ ν¬ν¨λ κ·Έλνμ΄λ€. 무방ν₯μ±(Undirected) κ·Έλν: λ°©ν₯μ±μ΄ μλ κ·Έλνμ΄λ€. κ°μ€μΉ(Weight) κ·Έλν: κ°μ μ κ°μ€μΉ μ λ³΄κ° ν¬ν¨λ κ·Έλνμ΄λ€. λΆλΆ(Sub) κ·Έλν: κ·Έλνμ μΌλΆ μ μ λ° κ°μ μΌλ‘ μ΄λ£¨μ΄μ§ κ·Έλνμ΄λ€. 1. ꡬν λ°©λ² 1) μΈμ νλ ¬ μ μ (V)μ μλ§νΌ 2μ°¨μ λ°°μ΄μ λ§λ€κ³ μΈμ νλ©΄ 1, μΈμ νμ§ μμΌλ©΄ 0μ λ£λ λ°©λ²μΌλ‘ λ©λͺ¨λ¦¬ λλΉ(V^2)κ° μμΌλ λ°λκ° λμ κ·Έλν ννμ μ ν©νλ€. 2) μΈμ 리μ€νΈ κ° μ μ λ§λ€ 리μ€νΈλ₯Ό λ§λ€κ³ μΈμ ν΄ μλ μ μ λ€μ μ°κ²°ν λ°©λ²μΌλ‘ κ²μ μκ°μ΄ μ€λ 걸리μ§λ§ λ©λͺ¨λ¦¬ λλΉκ° μλ€. 2. κ·Έλν νμ 1) κΉμ΄ μ°μ ..
![μ΄μ§ νΈλ¦¬(Binary Tree)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAI3An%2FbtqEY02Gvmm%2FunxTKYFx2T5psRWhmx25W0%2Fimg.png)
μ΄μ§ νΈλ¦¬(Binary Tree)
μ΄μ§ νΈλ¦¬(Binary Tree) μ΄λ€ λ Έλμ μμ λ Έλμ μκ° μ΅λ 2κ°λ₯Ό λμ§ μλ νΈλ¦¬μ΄λ€. ν¬ν(Perfect) μ΄μ§νΈλ¦¬: λͺ¨λ λ λ²¨μ΄ κ½ μ°¬ μ΄μ§νΈλ¦¬μ΄λ€. μμ (Complete) μ΄μ§νΈλ¦¬: μμμ μλλ‘, μΌμͺ½μμ μ€λ₯Έμͺ½μΌλ‘ μ°¨λ‘λλ‘ μ±μμ§ νΈλ¦¬μ΄λ€. μ¬ν₯ μ΄μ§νΈλ¦¬: νμͺ½μΌλ‘ κΈ°μΈμ΄μ§ νΈλ¦¬λ‘ νμ μκ°μ O(N)μ΄λ€. 1. μ΄μ§ νμ νΈλ¦¬(Binary Search Tree) νμ μκ°μ΄ νκ· O(logN)μΌλ‘ ν¨μ¨μ μΈ νμμ΄ κ°λ₯νλ€. κ° λ Έλμ μμμ΄ 2κ° μ΄νμ΄λ€. κ° λ Έλμ μΌμͺ½ μμμ λΆλͺ¨λ³΄λ€ μκ³ μ€λ₯Έμͺ½ μμμ λΆλͺ¨λ³΄λ€ ν¬λ€. μ€λ³΅λ κ°μ λ Έλκ° μμ΄μΌ νλ€. 2020.04.29 - [π Computer Science/β Algorithm] - [C] μ΄μ§ νμ νΈλ¦¬(BST) [C] μ΄..
![μ ν ꡬ쑰(Linear Structure)μ λΉμ ν ꡬ쑰(Non-Linear Structure)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbbu4yd%2FbtqDDwaHlnD%2Fu7GLcdKsUlWYaj4mImp2zk%2Fimg.png)
μ ν ꡬ쑰(Linear Structure)μ λΉμ ν ꡬ쑰(Non-Linear Structure)
1. μ ν ꡬ쑰 λ°μ΄ν°λ₯Ό μ°μμ μΌλ‘ μ°κ²°λμ΄ μλ λͺ¨μμΌλ‘ ꡬμ±νλ€. 1) λ°°μ΄(Array) λμΌν μλ£νμ λ°μ΄ν°λ€μ΄ κ°μ ν¬κΈ°λ‘ λμ΄λμ΄ μμλ₯Ό κ°κ³ μλ μ§ν©μ΄λ€. λΉ λ₯Έ μ κ·Ό(O(1))κ³Ό random accessκ° κ°λ₯νλ€. λ Όλ¦¬μ μ μ₯ μμμ 물리μ μ μ₯ μμκ° μΌμΉνκΈ° λλ¬Έμ μΈλ±μ€λ‘ ν΄λΉ μμμ μ κ·Όν μ μλ€. μΈλ±μ€λ λ°°μ΄μ μμλ₯Ό κ°λ¨ν ꡬλ³νκΈ° μν΄ μ¬μ©νλ λ²νΈμ΄λ€. (0 ~ n-1) μ μ μΈ μλ£ κ΅¬μ‘°λ‘ κΈ°μ΅ μ₯μμ μΆκ°κ° μ΄λ ΅κ³ λ°μ΄ν° μμ μ λ°μ΄ν°κ° μ μ₯λμ΄ μλ κΈ°μ΅ μ₯μλ λΉ κ³΅κ°μΌλ‘ λ¨μμμ΄ λ©λͺ¨λ¦¬ λλΉκ° λ°μνλ€. 2) λ°°μ΄ λ¦¬μ€νΈ(Array List) λ°°μ΄κ³Ό κ°μ΄ μ°μλλ κΈ°μ΅ μ₯μμ μ°¨λ‘λλ‘ λ°μ΄ν°κ° μ μ₯λμ§λ§ λΉ κ³΅κ°μ΄ μλ€. κΈ°μ΅ μ₯μλ₯Ό μ°μμ μΌλ‘ λ°°μ λ°κΈ° λλ¬Έμ ..