티스토리 뷰

알고리즘

버블 정렬(bubble sort)

killog 2020. 10. 29. 12:49
반응형
  • 두 인접한 데이터를 비교해서, 앞에 있는 데이터가 뒤에 있는 데이터보다 크면, 자리를 바꾸는 정렬 알고리즘

원리에 대한 생각
=> 매 턴별로, 맨 뒤 요소들이 최댓값이 들어간다고 생각하면된다.

for index in range(데이터길이 - 1):
    for index2 in range(데이터길이-index -1):
        if 앞데이터 > 뒤데이터:    
            swap(앞데이터, 뒤데이터)

def bubbleSort(data):
	for index in range(len(data)-1):
    	swap = False
        for index2 in range(len(data) - index -1):
        	if data[index2] > data[index2+1]:
            	data[index2],  data[index2+1] =  data[index2+1], data[index2]
                swap =True
        if not swap:
        	break
    return data
import random
data_list = random.sample(range(100), 50)
print(bubbleSort(data_list))

반응형

'알고리즘' 카테고리의 다른 글

백준 1931번 회의실 배정 파이썬  (0) 2020.10.29
백준 11047번 동전 0 파이썬  (0) 2020.10.29
정렬(Sorting) 이란?  (0) 2020.10.29
알고리즘 연습방법  (0) 2020.10.29
프로그래머스 완전탐색 모의고사  (0) 2020.10.27
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함