버블 정렬 알고리즘을 실행에 의한 고전적인 정렬 알고리즘은 극단적 인 값은 점차 같은, 그래서 이름이 나오는 수중 거품처럼 될 것입니다.
거품 정렬 프로세스 목록에서 좌측 버블이 마지막 최대 값이 우단으로부터 순차적으로 나타날 것이다 그래서, 교환기의 크기 및 위치에 따라, 인접하는 엘리먼트의 크기를 비교한다.
파이썬은 버블 정렬을 구현 :
데프 bubble_sort (nums) : 위해 난 에 범위 (렌 (nums) - 1 ) : 대 J 의 범위 (렌 (nums) - 나 - 1 ) : 만약 nums [J]> nums [J + 1 ] nums [J], nums [J + 1] = nums [J + 1 ] nums [J] 반환 nums
파이썬 핵심 아이디어를 개략적으로 도시 된 바와 같이 두 개의 인접한 소자를 비교 한 후, 이에 순차 최대 값의 단부로 이동되도록 한 후 루프 요소를 통해, 반복주기 소자의 단부가 정렬리스트 기포를 달성하는 것이다.
지프는 약간의 문제에 넣지 마십시오, 그림을 넣고 싶었다.
일종의 거품의 시간 복잡도의 위의 코드를 파이썬 시간 복잡도의 실현에 대해 N 제곱 물론, 그 극단적 인 사례를 고려할 수 : 큐가 오름차순으로 정렬 또는 내림차순으로 정렬 할 때 스위칭 비교적 N-1를 필요로하면서, 다시 최종 정렬 케이스 시간 복잡도에 양호한 소형 ~ 대형만을 검사 할 수는,이 하강되면 O (N)는, 그때는 N-1 번을 스캔 할 필요가있다 배 N의 시간 복잡도의 제곱.