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

python創(chuàng)建堆的方法實(shí)例講解

 更新時(shí)間:2021年03月17日 08:12:57   作者:小妮淺淺  
在本篇文章里小編給大家整理的是一篇關(guān)于python創(chuàng)建堆的方法實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。

1、說(shuō)明

創(chuàng)建堆有兩種基本方法:heappush() 和 heapify()。

當(dāng)使用heappush()時(shí),當(dāng)新元素添加時(shí),堆得順序被保持了。

如果數(shù)據(jù)已經(jīng)在內(nèi)存中,則使用 heapify() 來(lái)更有效地重新排列列表中的元素。

2、實(shí)例

import heapq
from heapq_showtree import show_tree
from heapq_heapdata import data
 
heap = []
print('random :', data)
print()
 
for n in data:
  print('add {:>3}:'.format(n))
  heapq.heappush(heap, n)
  show_tree(heap)
   
# output
# random : [19, 9, 4, 10, 11]
#
# add 19:
#
#         19
# ------------------------------------
#
# add  9:
#
#         9
#     19
# ------------------------------------
#
# add  4:
#
#         4
#     19        9
# ------------------------------------
#
# add 10:
#
#         4
#     10        9
#   19
# ------------------------------------
#
# add 11:
#
#         4
#     10        9
#   19    11
# ------------------------------------

知識(shí)點(diǎn)擴(kuò)展:

創(chuàng)建最大(小)堆

二叉堆本質(zhì)上是一種完全二叉樹(shù),存儲(chǔ)方式并不是鏈?zhǔn)酱鎯?chǔ),而是順序存儲(chǔ)

堆操作:插入(葉子節(jié)點(diǎn)上調(diào)),刪除(堆頂元素下沉)

堆創(chuàng)建:非葉子節(jié)點(diǎn)下沉(從最后一個(gè)非葉子節(jié)點(diǎn)開(kāi)始)

最小堆:

最小堆任何一個(gè)父節(jié)點(diǎn)的值,都小于等于它左右孩子節(jié)點(diǎn)的值

創(chuàng)建過(guò)程:如果非葉子節(jié)點(diǎn)值大于其子節(jié)點(diǎn),將其下沉

最大堆:

最大堆任何一個(gè)父節(jié)點(diǎn)的值,都大于等于它左右孩子節(jié)點(diǎn)的值。

創(chuàng)建過(guò)程:如果非葉子節(jié)點(diǎn)值小于其子節(jié)點(diǎn),將其下沉

到此這篇關(guān)于python創(chuàng)建堆的方法實(shí)例講解的文章就介紹到這了,更多相關(guān)python創(chuàng)建堆的方法有哪些內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python selenium文件上傳下載功能代碼實(shí)例

    Python selenium文件上傳下載功能代碼實(shí)例

    這篇文章主要介紹了Python selenium文件上傳下載功能代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Anaconda中Python虛擬環(huán)境的創(chuàng)建使用與刪除方法詳解

    Anaconda中Python虛擬環(huán)境的創(chuàng)建使用與刪除方法詳解

    這篇文章主要為大家介紹了在Anaconda環(huán)境下,創(chuàng)建、使用與刪除Python虛擬環(huán)境的方法,具有一定的借鑒價(jià)值,需要的小伙伴可以跟隨小編一起了解一下
    2023-08-08
  • PyTorch中torch.nn.functional.cosine_similarity使用詳解

    PyTorch中torch.nn.functional.cosine_similarity使用詳解

    在pytorch中可以使用torch.cosine_similarity函數(shù)對(duì)兩個(gè)向量或者張量計(jì)算余弦相似度,這篇文章主要給大家介紹了關(guān)于PyTorch中torch.nn.functional.cosine_similarity使用的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Python制作詞云圖代碼實(shí)例

    Python制作詞云圖代碼實(shí)例

    這篇文章主要介紹了Python制作詞云圖代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 使用python接入微信聊天機(jī)器人

    使用python接入微信聊天機(jī)器人

    這篇文章主要為大家詳細(xì)介紹了使用python接入微信聊天機(jī)器人,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python+Pygame實(shí)戰(zhàn)之英文版猜字游戲的實(shí)現(xiàn)

    Python+Pygame實(shí)戰(zhàn)之英文版猜字游戲的實(shí)現(xiàn)

    這篇文章主要為大家介紹了如何利用Python中的Pygame模塊實(shí)現(xiàn)英文版猜單詞游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python游戲開(kāi)發(fā)有一定幫助,需要的可以參考一下
    2022-08-08
  • Python函數(shù)的嵌套詳解

    Python函數(shù)的嵌套詳解

    這篇文章主要為大家介紹了Python函數(shù)的嵌套,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • python網(wǎng)絡(luò)通信圖文詳解

    python網(wǎng)絡(luò)通信圖文詳解

    這篇文章主要介紹了Python網(wǎng)絡(luò)編程詳解,涉及具體代碼示例,還是挺不錯(cuò)的,這里分享給大家,供需要的朋友參考,希望能給你帶來(lái)幫助
    2021-08-08
  • Python基于百度AI實(shí)現(xiàn)抓取表情包

    Python基于百度AI實(shí)現(xiàn)抓取表情包

    本文先抓取網(wǎng)絡(luò)上的表情圖像,然后利用百度 AI 識(shí)別表情包上的說(shuō)明文字,并利用表情文字重命名文件,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Win10搭建Pyspark2.4.4+Pycharm開(kāi)發(fā)環(huán)境的圖文教程(親測(cè))

    Win10搭建Pyspark2.4.4+Pycharm開(kāi)發(fā)環(huán)境的圖文教程(親測(cè))

    本文主要介紹了Win10搭建Pyspark2.4.4+Pycharm開(kāi)發(fā)環(huán)境的圖文教程(親測(cè)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02

最新評(píng)論