>백엔드 개발 >파이썬 튜토리얼 >정렬 알고리즘 학습 버블 정렬

정렬 알고리즘 학습 버블 정렬

巴扎黑
巴扎黑원래의
2016-12-09 13:47:101488검색

버블 정렬(Bubble Sort, 대만어로 번역: Bubble Sort 또는 Bubble Sort)은 간단한 정렬 알고리즘입니다. 정렬할 시퀀스를 반복적으로 살펴보며 한 번에 두 요소를 비교하고 순서가 잘못된 경우 교체합니다. 더 이상 교환이 필요하지 않을 때까지 어레이 방문 작업이 반복됩니다. 이는 어레이가 정렬되었음을 의미합니다. 이 알고리즘의 이름은 더 작은 요소가 교환을 통해 배열의 맨 위로 천천히 "부동"된다는 사실에서 유래되었습니다. 버블 정렬 알고리즘의 동작은 다음과 같습니다.

1. 인접한 요소를 비교합니다. 첫 번째 것이 두 번째 것보다 크면 둘 다 교환하세요.

2. 처음의 첫 번째 쌍부터 끝의 마지막 쌍까지 인접한 요소의 각 쌍에 대해 동일한 작업을 수행합니다. 이때 마지막 요소가 가장 큰 숫자가 되어야 합니다.

3. 마지막 요소를 제외한 모든 요소에 대해 위 단계를 반복합니다.

4. 비교할 숫자 쌍이 더 이상 없을 때까지 매번 요소 수를 줄여 위 단계를 계속 반복합니다.


코드:

#!/usr/bin/env python
#-*-encoding:utf-8
#BubbleSort
def bubble_sort(param):
    p_len = len(param)
    for i in range(p_len):
        for j in range(i+1,p_len)[::-1]:
            if param[j] < param[j-1]:
                param[j],param[j-1]=param[j-1],param[j]
    return param
def main():
    param = [1,2,3,5,7,6,4]
    print bubble_sort(param)
if __name__=="__main__":
    main()


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.