λ²λΈμ λ ¬ μ νμ λ ¬ μ½μ μ λ ¬ ν΅μ λ ¬
ꡬνμ΄ κ°λ¨νμ§λ§ λΉν¨μ¨μ μΈ μ λ ¬λ°©λ² : μ½μ μ λ ¬, μ ν μ λ ¬, λ²λΈ μ λ ¬
ꡬνμ΄ λ³΅μ‘νμ§λ§ ν¨μ¨μ μΈ μ λ ¬λ°©λ² : ν΅ μ λ ¬, ν μ λ ¬, ν©λ³ μ λ ¬, κΈ°μ μ λ ¬
λ²λΈμ λ ¬
μλ‘ μΈμ ν λ μμλ₯Ό λΉκ΅νμ¬ μμλλ‘ κ΅ννλ€.
1νμ μ μννκ³ λλ©΄ κ°μ₯ ν° μμκ° λ§¨ λ€λ‘ μ΄λνλ―λ‘ 2νμ μμλ 맨 λμ μλ μμλ μ λ ¬μμ μ μΈλλ€.
μ λ ¬μ 1νμ μνν λλ§λ€ μ λ ¬μμ μ μΈλλ μμκ° νλμ© μ¦κ°νλ€.
μκ°λ³΅μ‘λ O(n^2)
νμ°¨λ§λ€ λΉκ΅λ₯Ό n-1, n-2, … , 2, 1 λ²νλ―λ‘ μ΄ n(n-1)/2
μ νμ λ ¬
μ΅μκ°μ μ°Ύμ ν 첫λ²μ§Έ μμμ κ΅ννλ€.
1νμ μ μννκ³ λλ©΄ 첫λ²μ§Έ μμλ₯Ό μ μΈν μ΅μκ°μ μ°Ύμ ν, λλ²μ§Έ μμμ κ΅ννλ€.
μ λ ¬μ 1νμ μνν λλ§λ€ μ λ ¬μμ μ μΈλλ μμκ° νλμ© μ¦κ°νλ€.
μκ°λ³΅μ‘λ O(n^2)
μ΅μκ°μ νμνκΈ° μν λΉκ΅λ₯Ό νμ°¨λ§λ€ n-1, n-2, … , 2, 1 λ²νλ―λ‘ μ΄ n(n-1)/2
μ½μ μ λ ¬
λλ²μ§Έ μμμ μ’μΈ‘μ μ λ ¬λ μμμ λΉκ΅νμ¬, μμμ λ§λ μ¬λ°λ₯Έ μμΉλ₯Ό μ°Ύμ μμλ₯Ό μ½μ νλ€.
μ λ ¬λ μμλ₯Ό μμμΌλ‘ λΉκ΅νλ©°, μ¬λ°λ₯Έ μμΉκ° μλ κ²½μ° ν μΉΈμ© λ€λ‘ μ΄λμν¨λ€.
μκ°λ³΅μ‘λ
O(n) : μ΄λ―Έ μ λ ¬λ μ΅μ μ κ²½μ°, n-1λ²μ 1νμ°¨ λΉκ΅λ§ μννλ€.
O(n^2) : μμμΌλ‘ μ λ ¬λ μ΅μ μ κ²½μ°, λ²λΈμ λ ¬μ μ νμ λ ¬κ³Ό λμΌνλ€.
ν΅μ λ ¬
νΌλ²μ κΈ°μ€μΌλ‘ μΌμͺ½μ νΌλ²λ³΄λ€ μμ μμ, μ€λ₯Έμͺ½μ νΌλ²λ³΄λ€ ν° μμκ° μμΉνλ€.
lowλ νΌλ²λ³΄λ€ ν΄ λκΉμ§ μ°μΈ‘μΌλ‘ μ΄λνκ³ , highλ νΌλ²λ³΄λ€ μμ λκΉμ§ μ΄λνλ€.
μκ°λ³΅μ‘λ
O(nlogβn) : λΆκ· ν λΆν μμ΄ κ³μ μ λ°μ© λΆν λλ μ΅μ μ κ²½μ° (νΌλ²μ΄ νμ μ€κ°κ°μΌ κ²½μ°)
• 1μ°¨: 31κ°μ λ°μ΄ν°κ° μμ λ 15κ°μ© λλ‘ λλμ΄ 2 λ©μ΄λ¦¬
• 2μ°¨: 7κ°μ© 2λ©μ΄λ¦¬, μ΄ 4λ©μ΄λ¦¬
• 3μ°¨: 3κ°μ© 2λ©μ΄λ¦¬, μ΄ 8λ©μ΄λ¦¬
• 4μ°¨:1κ°μ© 2λ©μ΄λ¦¬, μ΄ 16λ©μ΄λ¦¬
λ°λΌμ λλ‘ λλλ νμλ logβnλ², νΌλ²κ³Ό μμμ λΉκ΅νμλ nλ²μ΄λ€.
O(n^2) : κ³μ λΆκ· ν λΆν λλ μ΅μ μ κ²½μ° (νΌλ²μ΄ νμ μ΅μκ° λλ μ΅λκ°μΌ κ²½μ°)
λλ‘ λλλ νμλ nλ², νΌλ²κ³Ό μμμ λΉκ΅νμλ nλ²μ΄λ€.