久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 優(yōu)先級(jí)樹(shù)是什么?

優(yōu)先級(jí)樹(shù)是什么?

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-11 07:09:22 1696979362

一、優(yōu)先級(jí)樹(shù)是什么

優(yōu)先級(jí)樹(shù)的根節(jié)點(diǎn)中存儲(chǔ)的元素具有最小優(yōu)先級(jí)。

優(yōu)先級(jí)樹(shù)是滿足下面這些條件的二叉樹(shù):

1、樹(shù)中的每一個(gè)節(jié)點(diǎn)存儲(chǔ)一個(gè)元素;

2、任一節(jié)點(diǎn)中存儲(chǔ)的元素的優(yōu)先級(jí)不大于其兒子節(jié)點(diǎn)中元素的優(yōu)先級(jí),從根到葉子節(jié)點(diǎn)的任一路徑上,各個(gè)節(jié)點(diǎn)中的元素按照優(yōu)先級(jí)的非減序排列。所以根節(jié)點(diǎn)中存儲(chǔ)的元素具有最小的優(yōu)先級(jí)。

當(dāng)一個(gè)優(yōu)先級(jí)樹(shù)是一個(gè)近似滿二叉樹(shù)時(shí),就是稱之為堆了,或者偏序樹(shù)。

區(qū)別于二叉排序樹(shù)(BST),優(yōu)先級(jí)樹(shù)通常只有偏序,即根的優(yōu)先級(jí)大于左右子樹(shù),并且遞歸定義左右子樹(shù)各自也是一顆優(yōu)先級(jí)樹(shù)。通常意義上講,就是數(shù)據(jù)結(jié)構(gòu)里的堆,常見(jiàn)實(shí)現(xiàn)是通過(guò)數(shù)組表示的完全二叉堆。

特性就是O(1)的堆頂查詢,O(logn)的刪除和插入。并且實(shí)現(xiàn)起來(lái)相對(duì)簡(jiǎn)單,且不存在BST的退化情況。

延伸閱讀:

二、優(yōu)先級(jí)隊(duì)列(PriorityQueue)

優(yōu)先級(jí)隊(duì)列雖然也叫隊(duì)列,但是和普通的隊(duì)列還是有差別的。普通隊(duì)列出隊(duì)順序只取決于入隊(duì)順序,而優(yōu)先級(jí)隊(duì)列的出隊(duì)順序總是按照元素自身的優(yōu)先級(jí)。換句話說(shuō),優(yōu)先級(jí)隊(duì)列是一個(gè)自動(dòng)排序的隊(duì)列。元素自身的優(yōu)先級(jí)可以根據(jù)入隊(duì)時(shí)間,也可以根據(jù)其他因素來(lái)確定,因此非常靈活。

優(yōu)先級(jí)隊(duì)列的內(nèi)部實(shí)現(xiàn)有很多種,例如有序數(shù)組、無(wú)序數(shù)組和堆等。但是無(wú)論哪種實(shí)現(xiàn),優(yōu)先級(jí)隊(duì)列必須實(shí)現(xiàn)以下兩種方法:insert和delete。insert方法是將帶優(yōu)先級(jí)的元素插入優(yōu)先級(jí)隊(duì)列中(類似隊(duì)列的enQueue方法);delete方法是從優(yōu)先級(jí)隊(duì)列中取出較高優(yōu)先級(jí)(或最低優(yōu)先級(jí))的元素并在隊(duì)列中刪除該元素(類似隊(duì)列的出隊(duì))。

//Go語(yǔ)言表示

type PriorityQueue struct {

???? //隱藏實(shí)現(xiàn)

?}

??

?//以int為例,值的大小即代表元素優(yōu)先級(jí)的高低(下同)

?func (pq *PriorityQueue)Insert(val int)? //插入帶優(yōu)先級(jí)的元素

??

?func (pq *PriorityQueue)Delete() int //從優(yōu)先級(jí)隊(duì)列中取出優(yōu)先級(jí)較高的元素

針對(duì)不同實(shí)現(xiàn),優(yōu)先級(jí)隊(duì)列的插入和刪除方法的效率是不同的。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
軟件架構(gòu)如何能夠滿足ASPICE流程?

一、軟件架構(gòu)如何能夠滿足ASPICE流程架構(gòu)的用途是把整個(gè)產(chǎn)品劃分為更為細(xì)節(jié)的板塊:軟件、硬件、通信等。在這個(gè)基礎(chǔ)上軟件整體將按照用途、功能...詳情>>

2023-10-11 08:47:00
紅黑樹(shù)為什么叫紅黑樹(shù)?

一、紅黑樹(shù)叫紅黑樹(shù)的原因紅黑樹(shù)(Red-Black Tree)是一種自平衡的二叉搜索樹(shù)(Binary Search Tree),其在插入和刪除操作時(shí)能夠自動(dòng)調(diào)整樹(shù)的結(jié)...詳情>>

2023-10-11 08:42:41
為什么數(shù)組索引數(shù)據(jù)那么快速、有效?

一、數(shù)組索引數(shù)據(jù)快速、有效的原因1、連續(xù)內(nèi)存存儲(chǔ)數(shù)組在內(nèi)存中是連續(xù)存儲(chǔ)的,數(shù)組的元素在內(nèi)存中按照一定的順序排列,相鄰元素之間沒(méi)有間隔。...詳情>>

2023-10-11 08:36:19
數(shù)據(jù)結(jié)構(gòu)里的逐點(diǎn)插入法、排序二叉樹(shù)是什么?

一、數(shù)據(jù)結(jié)構(gòu)里的逐點(diǎn)插入法、排序二叉樹(shù)逐點(diǎn)插入法三角剖分是一種研究方法。三角剖分≠TIN三角剖分是代數(shù)拓?fù)鋵W(xué)里最基本的研究方法。 以曲面為...詳情>>

2023-10-11 08:08:01
在數(shù)據(jù)結(jié)構(gòu)中i=L->length是什么意思?

一、在數(shù)據(jù)結(jié)構(gòu)中i=L->length是什么意思在數(shù)據(jù)結(jié)構(gòu)中,i=L->length通常表示一個(gè)線性表L的長(zhǎng)度,即L中元素的個(gè)數(shù)。線性表是一種數(shù)據(jù)結(jié)構(gòu),它由n...詳情>>

2023-10-11 07:54:48
快速通道