>  기사  >  백엔드 개발  >  Python을 사용하여 8가지 정렬 알고리즘 구현 - 삽입 정렬

Python을 사용하여 8가지 정렬 알고리즘 구현 - 삽입 정렬

巴扎黑
巴扎黑원래의
2016-11-26 11:52:461335검색

삽입 정렬의 기본 개념:

각 단계에서 정렬할 레코드는 키 값의 크기에 따라 이전에 정렬된 파일의 적절한 위치에 삽입됩니다. 삽입됨.

예:

arr = [49,38,04,97,76,13,27,49,55,65], 두 번째 숫자부터 키 값으로 시작하여 앞으로 비교 , 이전 숫자가 더 크면 교환하고

arr = [38,49,04,97,76,13,27,49,55,65] 다음 세 번째 숫자를 키로 사용합니다. value , 순방향 비교, 첫 번째 값이 더 크면 교환,

arr = [38,04,49,97,76,13,27,49,55,65], 계속, arr = [04 ,38, 49,97,76,13,27,49,55,65]

참고: 순방향 비교 시 이전 배열이 정렬되기 때문에 이전 숫자가 다음보다 작거나 같을 때 이 순방향 비교 루프를 깨뜨릴 수 있으며 알고리즘 속도가 크게 향상됩니다.

코드:

Python 코드

def insert_sort(lists):  
    #插入排序  
    count = len(lists)  
    for i in range(1,count):#从第2个数起遍历  
        key = lists[i]  
        j = i - 1  
        while j >= 0:  
            if lists[j] > key:  
                lists[j+1], lists[j] = lists[j], key  
            else: break  #当前一个数小于或等于key时,跳出循环  
            j -= 1  
    return lists


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