久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      python中有堆嗎

      堆(英語:heap)是計(jì)算機(jī)科學(xué)中一類特殊的數(shù)據(jù)結(jié)構(gòu)的統(tǒng)稱;

      python中有堆嗎

      堆的定義:n個(gè)元素的序列{k1,k2,ki,…,kn}當(dāng)且僅當(dāng)滿足下關(guān)系時(shí),稱之為堆。(推薦學(xué)習(xí):Python視頻教程)

      "ki<=k2i,ki<=k2i+1;或ki>=k2i,ki>=k2i+1.(i=1,2,…,[n/2])"

      這是標(biāo)準(zhǔn)的堆的定義,但是python 中并沒有獨(dú)立的堆類型,只是包含一些堆操作函數(shù)的模塊(heapq =heap+queue首字母),其實(shí)堆在python中屬于一種特殊的列表;

      簡(jiǎn)單的介紹一下heapq中的方法

      import heapq 1.heapq.heappush(heap,item)  #heap為定義堆,item 增加的元素; eg.   heap=[]   heapq.heappush(heap, 2) 2.heapq.heapify(list)        #將列表轉(zhuǎn)換為堆 eg.    list=[5,8,0,3,6,7,9,1,4,2]    heapq.heapify(list)  3.heapq.heappop(heap)        #刪除最小的值 eg.   heap=[2, 4, 3, 5, 7, 8, 9, 6]   heapq.heappop(heap) ---->heap=[3, 4, 5, 7, 9, 6, 8] 4.heapq.heapreplace(heap, item)     #刪除最小元素值,添加新的元素值 eg.   heap=[2, 4, 3, 5, 7, 8, 9, 6]   heapq.heapreplace(heap, 11) ------>heap=[2, 3, 4, 6, 8, 5, 7, 9, 11] 5.heapq.heappushpop(heap, item)     #首判斷添加元素值與堆的第一個(gè)元素值對(duì)比,如果大于則刪除最小元素,然后添加新的元素值,否則不更改堆 eg.    條件:item >heap[0]    heap=[2, 4, 3, 5, 7, 8, 9, 6]    heapq.heappushpop(heap, 9)---->heap=[3, 4, 5, 6, 8, 9, 9, 7]    條件:item    heap=[2, 4, 3, 5, 7, 8, 9, 6]    heapq.heappushpop(heap, 9)---->heap=[2, 4, 3, 5, 7, 8, 9, 6] 6.heapq.merge(...)             #將多個(gè)堆合并 7.heapq.nlargest (n, heap)     #查詢堆中的最大元素,n表示查詢?cè)貍€(gè)數(shù) eg.   heap=[2, 3, 5, 6, 4, 8, 7, 9]   heapq.nlargest (1, heap)--->[9] 8.heapq.nsmallest(n, heap)     #查詢堆中的最小元素,n表示查詢?cè)貍€(gè)數(shù) eg.  heap=[2, 3, 5, 6, 4, 8, 7, 9]  heapq.nlargest (1, heap)--->[2]

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)