日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

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

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

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

優(yōu)先級樹是什么?

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

一、優(yōu)先級樹是什么

優(yōu)先級樹的根節(jié)點中存儲的元素具有最小優(yōu)先級。

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

1、樹中的每一個節(jié)點存儲一個元素;

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

當一個優(yōu)先級樹是一個近似滿二叉樹時,就是稱之為堆了,或者偏序樹。

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

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

延伸閱讀:

二、優(yōu)先級隊列(PriorityQueue)

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

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

//Go語言表示

type PriorityQueue struct {

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

?}

??

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

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

??

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

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

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

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

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

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

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

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

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

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

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通常表示一個線性表L的長度,即L中元素的個數(shù)。線性表是一種數(shù)據(jù)結(jié)構(gòu),它由n...詳情>>

2023-10-11 07:54:48
主站蜘蛛池模板: 象州县| 津南区| 呼伦贝尔市| 同德县| 闽清县| 林芝县| 通辽市| 安吉县| 米易县| 龙胜| 徐汇区| 东阳市| 嘉善县| 长顺县| 易门县| 西贡区| 德清县| 通榆县| 大悟县| 黄骅市| 杭锦后旗| 阜城县| 健康| 锡林浩特市| 天台县| 南昌市| 新竹市| 格尔木市| 建瓯市| 司法| 宜川县| 霍邱县| 铅山县| 历史| 慈利县| 土默特右旗| 柳江县| 朝阳市| 咸宁市| 唐河县| 漳平市|