π Tech
λ°μ΄ν°λ² μ΄μ€(DataBase)
νμΌ μμ€ν κ³Ό λ°μ΄ν°λ² μ΄μ€ λ°μ΄ν°λ² μ΄μ€κ° μ‘΄μ¬νκΈ° μ΄μ μλ νμΌ μμ€ν μ μ΄μ©νμ¬ λ°μ΄ν°λ₯Ό κ΄λ¦¬νμλ€. 1. νμΌ μμ€ν νμΌ μμ€ν μ νμΌμ μ΄μ©νμ¬ μλ£λ₯Ό κ΄λ¦¬νλ λ°©λ²μΌλ‘ νμΌμ 물리μ μΈ λΉνΈμ μ°μμ΄κ³ μμ°¨μ μΈ λ μ½λλ€λ‘ ꡬμ±λλ€. μ¬κΈ°μ λ μ½λλ μ°κ΄λ νλλ€μ λͺ¨μμ λ§νλ€. λ°μ΄ν°μ λν νλ‘κ·Έλ¨μ μμ‘΄λκ° λμ(μ’ μμ±): νλ‘κ·Έλ¨ μμ λ°μ΄ν°μ μ μκ° μ‘΄μ¬νκΈ° λλ¬Έμ λ°μ΄ν° ꡬ쑰λ₯Ό μμ νλ©΄ νλ‘κ·Έλ¨μ μμ ν΄μΌ νλ€. λ°μ΄ν°μ μ€λ³΅μ±μΌλ‘ λΆμΌμΉ νμ: λμΌν μ¬μ€μ μλ‘ λ€λ₯Έ λ°μ΄ν°κ° μ‘΄μ¬ν΄μ μ 보μ λν νΌλκ³Ό μ μ₯ κ³΅κ° λλΉκ° λ°μνλ€. λΆμ‘±ν κΈ°λ₯ λ°μ΄ν° λͺ¨λΈλ§ κ°λ : νλ‘κ·Έλλ°μ κ·μΉμ΄ μλ€. μ§μμ΄: μΌμΌμ΄ νλ‘κ·Έλλ°ν΄μΌ νλ€. λμμ± μ μ΄: μ¬λ¬ μ¬μ©μκ° λμμ μ‘μΈμ€ νλ©΄ λ°μ΄ν°..
ν΄μ(Hash)
ν΄μ(Hash) μ μ μμμΌλ‘ λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκΈ° μν΄ μμμ κΈΈμ΄ λ°μ΄ν°λ₯Ό κ³ μ λ κΈΈμ΄μ λ°μ΄ν°λ‘ 맀ννλ κ²μ΄λ€. ν΄μ ν¨μλ₯Ό μ¬μ©νμ¬ μ μ₯ν λ°μ΄ν°μ μ°κ΄λ κ³ μ ν μ«μλ₯Ό λ§λ λ€ μ΄λ₯Ό μΈλ±μ€λ‘ μ¬μ©νλ€. λ΄λΆμ μΌλ‘ λ°°μ΄μ μ΄μ©νμ¬ λ°μ΄ν°λ₯Ό μ μ₯νκΈ° λλ¬Έμ λΉ λ₯Έ κ²μ μλ(O(1))λ₯Ό κ°λλ€. 1. ν΄μ ν¨μ(Hash Function) μ μ₯ν λ°μ΄ν°μ μ°κ΄λ κ³ μ ν μ«μ(Hash Code)λ₯Ό λ§λ λ€. μ μ₯λλ κ°λ€μ key κ°μ ν΄μ ν¨μλ₯Ό ν΅ν΄ μμ λ²μμ κ°λ€λ‘ λ°κΎΌλ€. 2. ν΄μ ν μ΄λΈ ν΄μ ν μ΄λΈμ μμκ° μ μ₯λ μλ¦¬κ° μμμ κ°μ μν΄ κ²°μ λλ μλ£κ΅¬μ‘°λ‘ μμμ μμλ₯Ό ν΄μ ν μ΄λΈμ μ μ₯νλ €λ©΄ ν΄μ ν¨μλ₯Ό ν΅ν΄ ν΄μ κ°μ κ³μ°νκ³ ν΄μ κ°μ λ°λΌ μ μ₯νλ€. 3. μΆ©λ(Collisi..
κ·Έλν(Graph)
κ·Έλν(Graph) μ μ (Vertex)κ³Ό κ°μ (Edge)μ μ§ν©μ΄λ€. λ°©ν₯μ±(Directed) κ·Έλν: κ°μ μ λ°©ν₯μ±μ΄ ν¬ν¨λ κ·Έλνμ΄λ€. 무방ν₯μ±(Undirected) κ·Έλν: λ°©ν₯μ±μ΄ μλ κ·Έλνμ΄λ€. κ°μ€μΉ(Weight) κ·Έλν: κ°μ μ κ°μ€μΉ μ λ³΄κ° ν¬ν¨λ κ·Έλνμ΄λ€. λΆλΆ(Sub) κ·Έλν: κ·Έλνμ μΌλΆ μ μ λ° κ°μ μΌλ‘ μ΄λ£¨μ΄μ§ κ·Έλνμ΄λ€. 1. ꡬν λ°©λ² 1) μΈμ νλ ¬ μ μ (V)μ μλ§νΌ 2μ°¨μ λ°°μ΄μ λ§λ€κ³ μΈμ νλ©΄ 1, μΈμ νμ§ μμΌλ©΄ 0μ λ£λ λ°©λ²μΌλ‘ λ©λͺ¨λ¦¬ λλΉ(V^2)κ° μμΌλ λ°λκ° λμ κ·Έλν ννμ μ ν©νλ€. 2) μΈμ 리μ€νΈ κ° μ μ λ§λ€ 리μ€νΈλ₯Ό λ§λ€κ³ μΈμ ν΄ μλ μ μ λ€μ μ°κ²°ν λ°©λ²μΌλ‘ κ²μ μκ°μ΄ μ€λ 걸리μ§λ§ λ©λͺ¨λ¦¬ λλΉκ° μλ€. 2. κ·Έλν νμ 1) κΉμ΄ μ°μ ..
μ΄μ§ νΈλ¦¬(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)
1. μ ν ꡬ쑰 λ°μ΄ν°λ₯Ό μ°μμ μΌλ‘ μ°κ²°λμ΄ μλ λͺ¨μμΌλ‘ ꡬμ±νλ€. 1) λ°°μ΄(Array) λμΌν μλ£νμ λ°μ΄ν°λ€μ΄ κ°μ ν¬κΈ°λ‘ λμ΄λμ΄ μμλ₯Ό κ°κ³ μλ μ§ν©μ΄λ€. λΉ λ₯Έ μ κ·Ό(O(1))κ³Ό random accessκ° κ°λ₯νλ€. λ Όλ¦¬μ μ μ₯ μμμ 물리μ μ μ₯ μμκ° μΌμΉνκΈ° λλ¬Έμ μΈλ±μ€λ‘ ν΄λΉ μμμ μ κ·Όν μ μλ€. μΈλ±μ€λ λ°°μ΄μ μμλ₯Ό κ°λ¨ν ꡬλ³νκΈ° μν΄ μ¬μ©νλ λ²νΈμ΄λ€. (0 ~ n-1) μ μ μΈ μλ£ κ΅¬μ‘°λ‘ κΈ°μ΅ μ₯μμ μΆκ°κ° μ΄λ ΅κ³ λ°μ΄ν° μμ μ λ°μ΄ν°κ° μ μ₯λμ΄ μλ κΈ°μ΅ μ₯μλ λΉ κ³΅κ°μΌλ‘ λ¨μμμ΄ λ©λͺ¨λ¦¬ λλΉκ° λ°μνλ€. 2) λ°°μ΄ λ¦¬μ€νΈ(Array List) λ°°μ΄κ³Ό κ°μ΄ μ°μλλ κΈ°μ΅ μ₯μμ μ°¨λ‘λλ‘ λ°μ΄ν°κ° μ μ₯λμ§λ§ λΉ κ³΅κ°μ΄ μλ€. κΈ°μ΅ μ₯μλ₯Ό μ°μμ μΌλ‘ λ°°μ λ°κΈ° λλ¬Έμ ..
νλ‘μΈμ€ λκΈ°ν
νλ‘μΈμ€ λκΈ°ν 1. μ€λ λ μΈμ΄ν(Thread Safe) λ©ν° μ€λ λ νλ‘κ·Έλλ°μμ μΌλ°μ μΌλ‘ μ΄λ€ ν¨μλ λ³μ, νΉμ κ°μ²΄κ° μ¬λ¬ μ€λ λλ‘λΆν° λμμ μ κ·Όμ΄ μ΄λ£¨μ΄μ Έλ νλ‘κ·Έλ¨μ μ€νμ λ¬Έμ κ° μμμ λ»νλ€. λ³΄λ€ μλ°νκ²λ νλμ ν¨μκ° ν μ€λ λλ‘λΆν° νΈμΆλμ΄ μ€ν μ€μΌ λ, λ€λ₯Έ μ€λ λκ° κ·Έ ν¨μλ₯Ό νΈμΆνμ¬ λμμ ν¨κ» μ€νλλλΌλ κ° μ€λ λμμμ ν¨μμ μν κ²°κ³Όκ° μ¬λ°λ‘ λμ€λ κ²μΌλ‘ μ μνλ€. 2. μκ³ μμ(Critical Section) μκ³ μμμ΄λ λμΌν μμ(곡μ μμ)μ λμμ μ κ·Όνλ μμ (곡μ λ³μ μ¬μ©, λμΌ νμΌ μ¬μ© λ±)μ μ€ννλ μ½λ μμμ΄λ€. μ΄λ¬ν μκ³ μμ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄μλ 3κ°μ§ 쑰건μ λ§μ‘±ν΄μΌ νλ€. μνΈ λ°°μ (Mutual Exclusion): ν ν..