버블정렬
처음값부터 끝까지 인접하는 인덱스의 값을 순차적으로 비교하면서 큰 숫자를 가장 끝으로 옮기는 알고리즘이다.
버블정렬 예제
nums = [10, 2, 7, 21, 0]
print(f' nums : {nums}')
length = len(nums) - 1
for i in range(length):
for j in range(length - i):
if nums[j] > nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j]
print(f' sorted nums : {nums}')
내용
첫 인덱스 0번의 값부터 인덱스 값을 1씩 증가시키면서 비교하여 큰 값을 끝으로 보냅니다.
첫 사이클에서 가장 큰 값인 21은 마지막 인덱스로 이동하게 되며
마지막 인덱스는 정렬이 끝났기 때문에 길이에서 정렬 완료된 개수만큼 빼고 다시 처음부터 1씩 증가하며 비교하고 큰 값을 끝으로 보냅니다.
결과
nums : [10, 2, 7, 21, 0]
sorted nums : [0, 2, 7, 10, 21]
'컴퓨터 Info > Python - 자료구조' 카테고리의 다른 글
Python - 선택정렬 (0) | 2022.05.04 |
---|---|
Python - 삽입정렬 (0) | 2022.05.04 |
Python - 순위(Rank) (0) | 2022.05.03 |
Python - 이진검색 (0) | 2022.05.03 |
Python - 선형검색 (0) | 2022.05.02 |
댓글