파이썬 버블정렬에 대해 알아보겠습니다.
버블 정렬에서 우리가 해야 할 일은 배열의 처음 두 요소를 선택하고 첫 번째 요소가 두 번째 요소보다 큰지 비교한 다음 서로 바꾸는 것입니다. 그런 다음 다음 두 요소를 선택하고 비교하는 등의 작업을 수행합니다.
배열을 한 번 이동한 후 가장 큰 숫자가 마지막 인덱스에 배치됩니다.
전체 배열을 정렬하려면 배열을 (n-1) 번 이동해야 합니다. 여기서 n은 배열의 길이입니다.
파이썬 버블 정렬
예
배열이 있다고 가정해 보겠습니다.
21,14,18,25,9
패스-1:
우리가 알고 있듯이 14는 21보다 작으므로 이를 교환하고 다음 두 요소를 선택합니다.
이번에도 18은 21보다 작으므로 이를 교환하고 다음 두 요소를 선택해야 합니다.
25는 21보다 크므로 서로 바꿀 필요가 없습니다. 이제 다음 두 요소를 선택하세요.
9는 25보다 작습니다. 서로 바꿔보세요.
그래서 여기서 우리는 배열을 한 번 이동했으며 가장 큰 숫자가 마지막 인덱스에 배치되었습니다.
위에서 언급했듯이 전체 배열을 정렬하려면 배열(n-1) 번을 이동해야 합니다. 여기서 n은 배열의 길이입니다.
그래서 우리는 그것을 Pass-1이라고 명명합니다.
Pass-2를 시작해 보겠습니다.
패스-2:
이번에는 Pass-1 이후에 정렬되어 있으므로 마지막 인덱스를 확인할 필요가 없습니다.
Pass-2를 완료한 후 마지막 두 요소가 정렬되었습니다.
따라서 Pass-3에서는 이를 확인할 필요가 없습니다.
패스-3:
Pass-3을 완료하면 배열의 마지막 3개 요소가 정렬된 순서로 정렬됩니다.
패스-4:
우리는 배열 (n-1) 번 여행했습니다. 배열이 정렬되었습니다.
“ 매 단계마다 가장 큰 요소가 거품이 표면으로 떠오르는 것처럼 올바른 순서로 이동하는 경향이 있기 때문에 이를 BUBBLE SORT라고 합니다.”
연산
배열 Arr[n]이 있습니다. 여기서 n은 요소 수입니다.
단계:1- 패스 설정 =1
단계:2- 인덱스 = 0으로 설정
단계:3- Arr[index]>Arr[index+1]인 경우
그런 다음 Arr[index]를 Arr[index+1]로 바꿉니다.
인덱스를 1만큼 늘립니다.
단계:4- index<=n-pass-1까지 단계:3으로 이동
[통과하면 정렬된 요소를 다시 확인하지 못하게 됩니다.]
단계:5- 패스를 1만큼 증가시키고 패스<=n-1까지 단계:2로 이동합니다.
Python의 버블 정렬 프로그램
산출
9 14 18 21 25
'Python' 카테고리의 다른 글
Python 선형 검색 (1) | 2024.01.29 |
---|---|
Python 이진 검색 (0) | 2024.01.29 |
Python 선택 정렬 (1) | 2024.01.28 |
Python 삽입 정렬 (0) | 2024.01.28 |
Python 빠른 정렬 (1) | 2024.01.28 |