μκ³ λ¦¬μ¦ [Algorithm] - λ²λΈ μ λ ¬ Bubble Sort (2) (C, Python)
λ²λΈμ λ ¬
μ΄λ²μλ λ²λΈ μ λ ¬μ λν΄ μμ보μ. λ²λΈμ λ ¬μ΄λ λ°λ‘ κ°κΉμ΄μ μλ λ μ«μλΌλ¦¬ λΉκ΅λ₯Ό ν΄μ λΉμ₯ λ μμ μ«μλ₯Ό μμΌλ‘ 보λ΄μ£Όλ κ²μ λ°λ³΅νλ κ²μ΄λ€. μμ μλ κ°μ λΉκ΅ν΄μ λ μμ κ°μ κ³μν΄μ μμΌλ‘ 보λΈλ€λ©΄ ν° μλΆν° μ°¨λ‘λλ‘ μ λ ¬ λ κ²μ΄λ€.
λ€μμ μ«μλ€μ μ€λ¦μ°¨μμΌλ‘ μ λ ¬νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
1 10 5 8 7 6 4 3 2 9
#include <stdio.h>
int main(void){
int i,j,temp;
int array[10] = {1,10,5,8,7,6,4,3,2,9};
for(i=0;i<10;i++){
for(j=0;j<9-i;j++){
if(array[j]>array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
for (i=0;i<10;i++){
printf("%d",array[i]);
}
return 0;
}
λ²λΈμ λ ¬μ μ λ ¬ μκ³ λ¦¬μ¦ μ€μμ ꡬνμ κ°μ₯ μ½μ§λ§ κ°μ₯ λΉν¨μ¨μ μΈ μκ³ λ¦¬μ¦μΈλ°, μ»΄ν¨ν° λ΄λΆμ μΈ μ°μ°μ΄ κ°μ₯ λΉν¨μ¨μ μΌλ‘ μΌμ΄λκ² λμ΄ μ€μ μνμκ°μ΄ κ°μ₯ λλ¦° μκ³ λ¦¬μ¦μ΄λ€. λ²λΈμ λ ¬μ μκ° λ³΅μ‘λλ O(N^2)μ΄λ€.
νμ΄μ¬
a = [1,10,5,8,7,6,4,3,2,9]
for i in range(len(a)):
for j in range(len(a)-i-1):
if a[j]> a[j+1]:
tmp = a[j]
a[j] = a[j+1]
a[j+1] = tmp
a
μ΄ κΈμ λλλΉλμ μ€μ μκ³ λ¦¬μ¦ κ°μ’ (Algorithm Programming Tutorial)λ₯Ό μ°Έκ³ ν΄ μμ±νμμ΅λλ€.
https://www.youtube.com/watch?v=qQ5iLNjpxSk&list=PLRx0vPvlEmdDHxCvAQS1_6XV4deOwfVrz