乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      【Python算法】列表中的 append 比 insert 效率高的實(shí)質(zhì)

       highoo 2019-03-20

        append 與 insert 對(duì)比:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      # append 操作
      >>> count = 10**5
      >>> nums = []
      >>> for i in range(count):
      ... nums.append(i)
      ...
      >>> nums.reverse()
      # insert 操作
      >>> nums = []
      >>> for i in range(count):
      ... nums.insert(0, i)

        Python中的列表并不是傳統(tǒng)意義上的列表,這也是Python中列表的append操作比insert操作高效的根本原因。

        傳統(tǒng)意義上的列表,通常叫做鏈表,是通過(guò)一系列的節(jié)點(diǎn)來(lái)實(shí)現(xiàn)的,每個(gè)節(jié)點(diǎn)(尾節(jié)點(diǎn)除外)都有一個(gè)指向下一個(gè)節(jié)點(diǎn)的指針。

      1
      2
      3
      4
      5
      6
      7
      8
      9
      class Node:
          def __init__(self,value,next=Node)
              self.value=value
              self.next=next
      將節(jié)點(diǎn)構(gòu)造成列表:
      >>>L = Node("a",Node("b",Node("c",Node("d"))))
      >>>L.next.next.value
      'c'

        但是Python中的列表則與此不同。它不是由若干個(gè)獨(dú)立的節(jié)點(diǎn)相互引用而組成的,而是一整塊單一連續(xù)的內(nèi)存區(qū)塊--我們通常稱之為數(shù)組。這直接導(dǎo)致其與鏈表之間的一些區(qū)別。

        盡管兩者在遍歷時(shí)的效率相差無(wú)幾(除了鏈表有一些額外開(kāi)銷),但是如果我們按照既定索引值對(duì)某元素進(jìn)行直接訪問(wèn)的話,顯然使用數(shù)組會(huì)更加的高效。

        因?yàn)樵跀?shù)組中,我們通常可以直接計(jì)算出目標(biāo)元素在內(nèi)存中的位置,并對(duì)其進(jìn)行直接訪問(wèn)。而對(duì)于鏈表,我們需要從頭開(kāi)始遍歷整個(gè)鏈表。

        對(duì)于insert操作來(lái)說(shuō),情況又有所不同。

      • 對(duì)于鏈表而言,只要知道了在哪里執(zhí)行insert操作,其操作成本是非常低的。無(wú)論該鏈表中有多少元素,其操作時(shí)間大致相同。

      • 對(duì)于數(shù)組而言,每次執(zhí)行insert操作都需要移動(dòng)插入點(diǎn)右邊所有的元素,甚至在必要時(shí)需要把所有數(shù)組元素復(fù)制到另外一個(gè)更大的數(shù)組中。

       

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多