Python實(shí)現(xiàn)的插入排序算法原理與用法實(shí)例分析
本文實(shí)例講述了Python實(shí)現(xiàn)的插入排序算法原理與用法。分享給大家供大家參考,具體如下:
插入排序的基本操作就是將一個(gè)數(shù)據(jù)插入到已經(jīng)排好序的有序數(shù)據(jù)中,從而得到一個(gè)新的、個(gè)數(shù)加一的有序數(shù)據(jù),算法適用于少量數(shù)據(jù)的排序,時(shí)間復(fù)雜度為O(n^2)。是穩(wěn)定的排序方法
插入算法把要排序的數(shù)組分成兩部分:第一部分包含了這個(gè)數(shù)組的所有元素,但將最后一個(gè)元素除外(讓數(shù)組多一個(gè)空間才有插入的位置),而第二部分就只包含這一個(gè)元素(即待插入元素)。在第一部分排序完成后,再將這個(gè)最后元素插入到已排好序的第一部分中。
插入排序的基本思想是:每步將一個(gè)待排序的紀(jì)錄,按其關(guān)鍵碼值的大小插入前面已經(jīng)排序的文件中適當(dāng)位置上,直到全部插入完為止。
具體代碼如下:
#-*- coding: UTF-8 -*-
import numpy as np
def InsertSort(a):
for i in xrange(1,a.size):
for j in xrange(i,0, -1):
if a[j-1] > a[j]:
a[j-1] , a[j] = a[j], a[j-1]
else:
break
if __name__ == '__main__':
a = np.random.randint(0, 10, size = 10)
print "Before sorting..."
print "---------------------------------------------------------------"
print a
print "---------------------------------------------------------------"
print "After sorting..."
InsertSort(a)
print "---------------------------------------------------------------"
print a
print "---------------------------------------------------------------"
運(yùn)行結(jié)果:

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python標(biāo)準(zhǔn)庫sys庫常用功能詳解
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫sys庫常用功能詳解,sys是Python提供的程序與解釋器交互的標(biāo)準(zhǔn)庫,文章圍繞主題展開相關(guān)介紹,需要的朋友可以參考一下2022-07-07
pytorch 實(shí)現(xiàn)刪除tensor中的指定行列
今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)刪除tensor中的指定行列,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
DjangoWeb使用Datatable進(jìn)行后端分頁的實(shí)現(xiàn)
這篇文章主要介紹了DjangoWeb使用Datatable進(jìn)行后端分頁的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
pycharm重置設(shè)置,恢復(fù)默認(rèn)設(shè)置的方法
今天小編就為大家分享一篇pycharm重置設(shè)置,恢復(fù)默認(rèn)設(shè)置的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
python爬蟲 urllib模塊發(fā)起post請求過程解析
這篇文章主要介紹了python爬蟲 urllib模塊發(fā)起post請求過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
python實(shí)現(xiàn)微秒級等待問題(windows)
這篇文章主要介紹了python實(shí)現(xiàn)微秒級等待問題(windows),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
關(guān)于Python中的海象運(yùn)算符使用方法詳解
這篇文章主要介紹了關(guān)于Python中的海象運(yùn)算符“:=”使用方法詳解,海象運(yùn)算符(walrus?operator)是?Python?3.8?中引入的一種新的語法,需要的朋友可以參考下2023-04-04
django中賬號密碼驗(yàn)證登陸功能的實(shí)現(xiàn)方法
這篇文章主要介紹了django中賬號密碼驗(yàn)證登陸功能的實(shí)現(xiàn)方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07

