最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java優(yōu)先隊(duì)列?priority?queue

 更新時間:2022年01月25日 11:48:47   作者:L-M-Y  
本文主要介紹了Java優(yōu)先隊(duì)列?priority?queue,優(yōu)先隊(duì)列是一種特殊的數(shù)據(jù)結(jié)構(gòu)隊(duì)列中每一個元素都被分配到一個優(yōu)先權(quán)值,出隊(duì)順序按照優(yōu)先權(quán)值來劃分。一般有兩種出隊(duì)順序高優(yōu)先權(quán)出隊(duì)或低優(yōu)先權(quán)出隊(duì),想了解具體內(nèi)容的小伙伴可以參考下文內(nèi)容,希望對你有所幫助

1.優(yōu)先隊(duì)列概念

優(yōu)先隊(duì)列(priority queue)是一種特殊的數(shù)據(jù)結(jié)構(gòu)。
隊(duì)列中每一個元素都被分配到一個優(yōu)先權(quán)值,出隊(duì)順序按照優(yōu)先權(quán)值來劃分
一般有兩種出隊(duì)順序:高優(yōu)先權(quán)出隊(duì)低優(yōu)先權(quán)出隊(duì)。
priority queue至少要有兩個最基本的ADT:進(jìn)隊(duì),出隊(duì)(按照高優(yōu)先權(quán)或低優(yōu)先權(quán))

產(chǎn)生原因:同樣是為了提高數(shù)據(jù)處理的效率。試想,要實(shí)現(xiàn)優(yōu)先隊(duì)列對應(yīng)的功能,若使用鏈表或者數(shù)組,那么要么先排序再插入,要么先插入再查找最大最小元素。這樣一來,入隊(duì)出隊(duì)的時間復(fù)雜度至少為O(N)。

  • 優(yōu)先隊(duì)列出隊(duì)和入隊(duì)的時間復(fù)雜度均為O(log N)。
  • 優(yōu)先隊(duì)列基于二叉堆實(shí)現(xiàn)。

2.二叉堆(Heap)

堆是一種特殊的二叉樹,性質(zhì)如下:

  • 每個結(jié)點(diǎn)的值都大于或等于其左右孩子結(jié)點(diǎn)的值(大頂堆),或每個結(jié)點(diǎn)的值都小宇或等于其左右孩子的值(小頂堆)。
  • 必須滿足完全二叉樹的結(jié)構(gòu)。

完全二叉樹和滿二叉樹

完全二叉樹 complete binary tree

葉節(jié)點(diǎn)只可能出現(xiàn)在最后兩層,且最后一層的葉節(jié)點(diǎn)都左對齊
一棵深度為h的完全二叉樹

滿二叉樹 full binary tree

深度為h的滿二叉樹有(2^h)-1個結(jié)點(diǎn)

由二叉堆的定義可以看出,跟結(jié)點(diǎn)一定是二叉堆中結(jié)點(diǎn)值最大(或最?。┑摹]^大(或較?。┑慕Y(jié)點(diǎn)靠近根節(jié)點(diǎn)

堆的存儲結(jié)構(gòu):

一般情況下,堆用數(shù)組來存儲,第i個結(jié)點(diǎn)的父節(jié)點(diǎn)的下標(biāo)就是(i-1)/2.
如果用層序遍歷順序?qū)⒋箜敹押托№敹汛嫒霐?shù)組,

則關(guān)系如圖:

堆的重要操作

插入:插入一個元素之后,新元素首先被插入表層(即最后一層盡可能左邊的位置),之后再根據(jù)堆的性質(zhì)進(jìn)行調(diào)整。

例:寫出一次一個地將10,12,1,14,6,5,8,15,3,9,7,4,11,13和2插入一個初始為空的二叉堆的結(jié)果

刪除:刪除總是發(fā)生在根處,之后將最后一個元素(即最后一層最右邊的元素)拿來填補(bǔ)空缺,之后根據(jù)堆的性質(zhì)進(jìn)行調(diào)整堆的結(jié)構(gòu)。

到此這篇關(guān)于Java優(yōu)先隊(duì)列 priority queue的文章就介紹到這了,更多相關(guān)優(yōu)先隊(duì)列 priority queue內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mybatis-Plus中IdType.AUTO局部配置不生效的問題解決

    Mybatis-Plus中IdType.AUTO局部配置不生效的問題解決

    本文主要介紹了Mybatis-Plus中IdType.AUTO局部配置不生效的問題解決,數(shù)據(jù)庫插入數(shù)據(jù)時,id的默認(rèn)生成方式還是雪花算法,局部配置沒有生效,下面就來解決一下,感興趣的可以了解一下
    2023-09-09
  • 如何使用MyBatis Plus實(shí)現(xiàn)數(shù)據(jù)庫curd操作

    如何使用MyBatis Plus實(shí)現(xiàn)數(shù)據(jù)庫curd操作

    MyBatis-Plus是一個MyBatis 的增強(qiáng)工具,在MyBatis,的基礎(chǔ)上只做增強(qiáng)不做改變,為簡化開發(fā)、提高效率而生。 這篇文章主要介紹了MyBatis Plus實(shí)現(xiàn)數(shù)據(jù)庫curd操作,需要的朋友可以參考下
    2021-09-09
  • SpringBoot瘦身打包部署的實(shí)現(xiàn)

    SpringBoot瘦身打包部署的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot瘦身打包部署的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • java學(xué)習(xí)指南之字符串與正則表達(dá)式

    java學(xué)習(xí)指南之字符串與正則表達(dá)式

    在日常Java后端開發(fā)過程中,免不了對數(shù)據(jù)字段的解析,自然就少不了對字符串的操作,這其中就包含了正則表達(dá)式這一塊的內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于java學(xué)習(xí)指南之字符串與正則表達(dá)式的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Java基于TCP協(xié)議的Socket通信

    Java基于TCP協(xié)議的Socket通信

    本文詳細(xì)講解了Java基于TCP協(xié)議的Socket通信,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • Java中的迭代和遞歸詳解

    Java中的迭代和遞歸詳解

    這篇文章主要給大家介紹了關(guān)于Java中的迭代和遞歸,文章顯示分別介紹了Java中的迭代和遞歸,而后又介紹了迭代和遞歸的區(qū)別以及數(shù)形遞歸的相關(guān)內(nèi)容,文中介紹的很詳細(xì),相信會對大家學(xué)習(xí)具有一定的參考借鑒價值,有需要的朋友們可以參考借鑒。
    2016-11-11
  • java冒泡排序和選擇排序示例

    java冒泡排序和選擇排序示例

    這篇文章主要介紹了java冒泡排序和選擇排序示例,需要的朋友可以參考下
    2014-05-05
  • 基于SpringBoot構(gòu)建電商秒殺項(xiàng)目代碼實(shí)例

    基于SpringBoot構(gòu)建電商秒殺項(xiàng)目代碼實(shí)例

    這篇文章主要介紹了基于SpringBoot構(gòu)建電商秒殺項(xiàng)目代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Java調(diào)用.dll文件的方法

    Java調(diào)用.dll文件的方法

    因?yàn)轫?xiàng)目的需求,要在JAVA項(xiàng)目中調(diào)用Windows的Dll(動態(tài)鏈接庫)文件,之前用Jni調(diào)用過C寫的Dll文件,比較麻煩,這里不多說,網(wǎng)上也有很多這方面的文檔。在網(wǎng)上找到一個開源的組件JNative,使用后感覺比較方便
    2013-04-04
  • IDEA連接MySQL提示serverTimezone的問題及解決方法

    IDEA連接MySQL提示serverTimezone的問題及解決方法

    很多朋友私聊小編,使用IDEA軟件連接MySQL數(shù)據(jù)庫時總是提示Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.的錯誤,小編就不一一回復(fù)大家了,下面小編把我的解決方法分享到腳本之家平臺,需要的朋友參考下吧
    2021-05-05

最新評論

林口县| 两当县| 高碑店市| 台中县| 章丘市| 阳信县| 武鸣县| 绵阳市| 九江县| 广汉市| 彩票| 武穴市| 顺平县| 图们市| 泾源县| 垦利县| 手游| 团风县| 万源市| 阿尔山市| 西青区| 砚山县| 巴林左旗| 安吉县| 马边| 嘉禾县| 平和县| 民权县| 长泰县| 兴化市| 兴海县| 康马县| 无锡市| 米易县| 武乡县| 同德县| 攀枝花市| 宁夏| 梁山县| 忻州市| 蕲春县|