python 插入排序演算法

2021-08-19 16:43:09 字數 1018 閱讀 2734

描述

插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的、個數加一的有序資料,演算法適用於少量資料的排序,時間複雜度為o(n^2)。是穩定的排序方法。插入演算法把要排序的陣列分成兩部分:第一部分包含了這個陣列的所有元素,但將最後乙個元素除外(讓陣列多乙個空間才有插入的位置),而第二部分就只包含這乙個元素(即待插入元素)。在第一部分排序完成後,再將這個最後元素插入到已排好序的第一部分中。

2、具體**

#-*- coding:utf-8 -*-

from __future__ import print_function

import random

# 排序演算法

def insert_sort(lists):

# 進行插入排序演算法

# 獲得列表的長度

length = len(lists)

for i in range(1,length):

# 待插入元素的前乙個位置的標識

j=i-1

# 進行與前乙個位置進行比較

key = lists[i]

while j>=0:

if lists[j]>key:

# 進行交換

lists[j+1]=lists[j]

lists[j]=key

j-=1

return lists

def get_andomnumber(num):

lists=

i=0while ii+=1

return lists

def main():

a=[9,18,7,26,5,64,3,2,10]

print("排序之前:%s" % a)

b = insert_sort(a)

print("排序之後:%s" % b)

if __name__ == '__main__':

main()

Python插入排序演算法

插入排序 英語 insertion sort 是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,在從後向前掃瞄過程中,需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間。插入排序 n len alist...

Python演算法 插入排序

插入排序 英語 insertion sort 是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,通常採用in place排序 即只需用到o 1 的額外空間的排序 因而在從後向前掃瞄過程中,需要反覆把已排序元素...

Python插入排序演算法

插入排序演算法,簡單直觀的排序演算法.工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入.python 如下 coding utf 8 import random class insert def main self arr list i for i in r...