欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)的插入排序算法原理與用法實(shí)例分析

 更新時(shí)間:2017年11月22日 10:16:46   作者:Alex Yu  
這篇文章主要介紹了Python實(shí)現(xiàn)的插入排序算法原理與用法,簡(jiǎn)單描述了插入排序的原理,并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)插入排序的相關(guān)操作技巧,需要的朋友可以參考下

本文實(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)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python基礎(chǔ)之循環(huán)語(yǔ)句

    python基礎(chǔ)之循環(huán)語(yǔ)句

    這篇文章主要介紹了python的循環(huán)語(yǔ)句,實(shí)例分析了Python中返回一個(gè)返回值與多個(gè)返回值的方法,需要的朋友可以參考下
    2021-10-10
  • Python實(shí)現(xiàn)數(shù)字小寫轉(zhuǎn)大寫的示例詳解

    Python實(shí)現(xiàn)數(shù)字小寫轉(zhuǎn)大寫的示例詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)數(shù)字小寫轉(zhuǎn)大寫的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12
  • Python實(shí)現(xiàn)過(guò)濾單個(gè)Android程序日志腳本分享

    Python實(shí)現(xiàn)過(guò)濾單個(gè)Android程序日志腳本分享

    這篇文章主要介紹了Python實(shí)現(xiàn)過(guò)濾單個(gè)Android程序日志腳本分享,本文講解了原理、實(shí)現(xiàn)代碼、使用方法、最新代碼等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • 分享Python開發(fā)中要注意的十個(gè)小貼士

    分享Python開發(fā)中要注意的十個(gè)小貼士

    不管是python開發(fā)還是其他什么語(yǔ)言的開發(fā),如果在開發(fā)中我們能掌握一些有用的貼士和技巧,那么肯定會(huì)大大提高我們的開發(fā)效率,今天小編和大家分享的就是python開發(fā)中,一些初學(xué)這門語(yǔ)言常常會(huì)犯的錯(cuò)誤,一起來(lái)看看吧。
    2016-08-08
  • 詳解Python中的分組函數(shù)groupby和itertools)

    詳解Python中的分組函數(shù)groupby和itertools)

    這篇文章主要介紹了Python中的分組函數(shù)groupby和itertools)的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • Python3.7黑帽編程之病毒篇(基礎(chǔ)篇)

    Python3.7黑帽編程之病毒篇(基礎(chǔ)篇)

    這篇文章主要介紹了Python3.7黑帽編程之病毒篇(基礎(chǔ)篇),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Django 用戶登陸訪問(wèn)限制實(shí)例 @login_required

    Django 用戶登陸訪問(wèn)限制實(shí)例 @login_required

    這篇文章主要介紹了Django 用戶登陸訪問(wèn)限制實(shí)例 @login_required,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • python?numpy庫(kù)介紹

    python?numpy庫(kù)介紹

    這篇文章主要介紹了python?numpy庫(kù),numpy是一個(gè)開源的python科學(xué)計(jì)算擴(kuò)展庫(kù),主要用來(lái)處理任意維度數(shù)組和矩陣。相同的任務(wù),使用numpy比直接用python的基本數(shù)據(jù)結(jié)構(gòu)更加簡(jiǎn)單高效,下面一起進(jìn)入文章了解更多詳細(xì)內(nèi)容吧
    2021-12-12
  • 總結(jié)Python函數(shù)參數(shù)的六種類型

    總結(jié)Python函數(shù)參數(shù)的六種類型

    這篇文章主要總結(jié)了Python函數(shù)參數(shù)的六種類型,傳遞參數(shù)實(shí)現(xiàn)不同場(chǎng)景的靈活使用,下面總結(jié)的六種函數(shù)參數(shù)類型,需要的小伙伴可以參考一下
    2022-03-03
  • python json 遞歸打印所有json子節(jié)點(diǎn)信息的例子

    python json 遞歸打印所有json子節(jié)點(diǎn)信息的例子

    今天小編就為大家分享一篇python json 遞歸打印所有json子節(jié)點(diǎn)信息的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02

最新評(píng)論