자료구조_알고리즘/자료구조

[정렬] 버블소트 - 파이썬

JUMP개발자 2020. 8. 17. 22:49

 

버블 소트 - 파이썬

자료구조 관련 내용은 인터넷에서 검색하면 자료가 많이 나오기 때문에 따로 정리하진 않았다.

 

a =[ 5, 3 , 6, 9, 2] 
list_length = len(a) 


for i in range(list_length -1): 
        for j in range(list_length - i -1): 
                if(a[j] >a[j+1]):                    
                        a[j], a[j+1] = a[j+1], a[j] 

print(a) 

 

버블 소트를 구현할 때 가장 중요한 것은 range의 범위를 설정하는 것이다.

실제 코딩테스트에서 버블소트 구현이 나올 확률은 없지만, 가장 기본이 되는 sorting 방법이기 때문에 주의해야 한다.

두번째 for문에서 list_length - i - 1 로 range 범위를 설정하는 이유는 뒤쪽 부터 정렬이 되기 때문이다. 

 

특징 : 구현하기 쉽지만, 성능상으로 좋지 않음.

 

시간복잡도

최상 : n2 평균 : n2 최악: n2