左偏樹(Leftist Tree)是一種可并堆的實現(xiàn)。左偏樹是一棵二叉樹,它的節(jié)點除了和二叉樹的節(jié)點一樣具有左右子樹指針( left, right)外,還有兩個屬性,鍵值和距離(dist)。
中文名稱 | 左偏樹 | 外文名稱 | Leftist Tree |
---|---|---|---|
屬性 | 是一種可并堆的實現(xiàn) | 實質(zhì) | 一棵二叉樹 |
[性質(zhì)1] 節(jié)點的鍵值小于或等于它的左右子節(jié)點的鍵值。
即key(i)≤key(parent(i)) 這條性質(zhì)又叫堆性質(zhì)。符合該性質(zhì)的樹是堆有序的(Heap-Ordered)。有了性質(zhì)1,我們可以知道左偏樹的根節(jié)點是整棵樹的最小節(jié)點,于是我們可以在O(1) 的時間內(nèi)完成取最小節(jié)點操作。
[性質(zhì)2] 節(jié)點的左子節(jié)點的距離不小于右子節(jié)點的距離。
即dist(left(i))≥dist(right(i)) 這條性質(zhì)稱為左偏性質(zhì)。性質(zhì)2是為了使我們可以以更小的代價在優(yōu)先隊列的其它兩個基本操作(插入節(jié)點、刪除最小節(jié)點)進行后維持堆性質(zhì)。在后面我們就會看到它的作用。
這兩條性質(zhì)是對每一個節(jié)點而言的,因此可以簡單地從中得出,左偏樹的左右子樹都是左偏樹。
由這兩條性質(zhì),我們可以得出左偏樹的定義:左偏樹是具有左偏性質(zhì)的堆有序二叉樹。
我們知道,一個節(jié)點必須經(jīng)由它的子節(jié)點才能到達外節(jié)點。由于性質(zhì)2,一個節(jié)點的距離實際上就是這個節(jié)點一直沿它的右邊到達一個外節(jié)點所經(jīng)過的邊數(shù),也就是說,我們有
[性質(zhì)3] 節(jié)點的距離等于它的右子節(jié)點的距離加1。
即dist( i ) = dist( right( i ) ) + 1 外節(jié)點的距離為0,由于性質(zhì)2,它的右子節(jié)點必為空節(jié)點。為了滿足性質(zhì)3,故前面規(guī)定空節(jié)點的距離為-1。
我們的印象中,平衡樹是具有非常小的深度的,這也意味著到達任何一個節(jié)點所經(jīng)過的邊數(shù)很少。左偏樹并不是為了快速訪問所有的節(jié)點而設(shè)計的,它的目的是快速訪問最小節(jié)點以及在對樹修改后快速的恢復堆性質(zhì)。從圖中我們可以看到它并不平衡,由于性質(zhì)2的緣故,它的結(jié)構(gòu)偏向左側(cè),不過距離的概念和樹的深度并不同,左偏樹并不意味著左子樹的節(jié)點數(shù)或是深度一定大于右子樹。
下面我們來討論左偏樹的距離和節(jié)點數(shù)的關(guān)系。
[引理1] 若左偏樹的距離為一定值,則節(jié)點數(shù)最少的左偏樹是完全二叉樹。
證明:由性質(zhì)2可知,當且僅當對于一棵左偏樹中的每個節(jié)點i,都有dist(left(i)) =dist(right(i)) 時,該左偏樹的節(jié)點數(shù)最少。顯然具有這樣性質(zhì)的二叉樹是完全二叉樹。
[定理1] 若一棵左偏樹的距離為k,則這棵左偏樹至少有2^(k+1)-1個節(jié)點。
證明:由引理1可知,當這樣的左偏樹節(jié)點數(shù)最少的時候,是一棵完全二叉樹。距離為k的完全二叉樹高度也為k,節(jié)點數(shù)為2^(k+1)-1,所以距離為k的左偏樹至少有2^(k+1)-1個節(jié)點。
作為定理1的推論,我們有:
[性質(zhì)4] 一棵N個節(jié)點的左偏樹距離最多為?log(N+1)?-1。
證明:設(shè)一棵N個節(jié)點的左偏樹距離為k,由定理1可知,N ≥ 2^(k+1)-1,因此k ≤ ?log(N+1)?-1。
標程
《數(shù)字序列》程序
優(yōu)先隊列在信息學競賽中十分常見,在統(tǒng)計問題、最值問題、模擬問題和貪心問題等等類型的題目中,優(yōu)先隊列都有著廣泛的應(yīng)用。二叉堆是一種常用的優(yōu)先隊列,它編程簡單,效率高,但如果問題需要對兩個優(yōu)先隊列進行合并,二叉堆的效率就無法令人滿意了。本文介紹的左偏樹,可以很好地解決這類問題。
左偏樹的定義和性質(zhì)
在介紹左偏樹之前,我們先來明確一下優(yōu)先隊列和可并堆的概念。
優(yōu)先隊列,可并堆
優(yōu)先隊列(Priority Queue)是一種抽象數(shù)據(jù)類型(ADT),它是一種容器,里面有一些元素,這些元素也稱為隊列中的節(jié)點(node)。優(yōu)先隊列的節(jié)點至少要包含一種性質(zhì):有序性,也就是說任意兩個節(jié)點可以比較大小。為了具體起見我們假設(shè)這些節(jié)點中都包含一個鍵值(key),節(jié)點的大小通過比較它們的鍵值而定。優(yōu)先隊列有三個基本的操作:插入節(jié)點(Insert),取得最小節(jié)點(Minimum) 和刪除最小節(jié)點(Delete-Min)。
可并堆(Mergeable Heap)也是一種抽象數(shù)據(jù)類型,它除了支持優(yōu)先隊列的三個基本操作(Insert, Minimum,Delete-Min),還支持一個額外的操作--合并操作:
X方向你輸入正值,則向右偏移 X方向你輸入負值,則向左偏移 Y方向你輸入正值,則向上偏移 Y方向你輸入負值,則向下偏移
利用SHIFT健,可以非常方便的準確定位,你試一下吧。
將100改成0
格式:pdf
大小:432KB
頁數(shù): 1頁
評分: 4.4
偏城至杏樹灣四級公路是我縣農(nóng)村公路硬化中的一段,也是我縣"五縱四橫"公路網(wǎng)的重要組成部分,是偏城鄉(xiāng)杏樹灣村聯(lián)系外界的唯一一條公路。在本設(shè)計中,主要進行道路工程、路基路面工程的施工圖設(shè)計,同時,進行涵洞的總體布置圖設(shè)計。一、平面設(shè)計(一)公路等級的確定。根據(jù)對偏城至杏樹灣四級公路近期交通量調(diào)查,由設(shè)計交通量計算公式可得,遠景年平均
像不像—個曼妙女子在翩翩起舞,美極了
嘿,還真別說,這樹矮胖矮胖的還真好看
這棵樹在夾縫中茁壯成長,真是—個勵志的故事
古時候的房子是真的結(jié)實,屋頂長了那么大—棵樹也不塌
大樹里面又長了—棵小樹,可以說是非常罕見了
我的天,猛的—看還以為是—座大廈
仔細看看這樹身上的圖是不是很像某種動物
這兩棵樹是不是鬧翻了,看著像在打架
兩棵想要擁抱在—起的樹,但又不想擋了別人的道兒
小黑樹穿花衣也是美美噠~
雖然樹身被掏空,卻仍要堅強的活下去——樹的倔強
這么長的樹根,估計十二級臺風也吹不走吧~
小胖樹也有春天,很可愛噠~
樹身被開了—條路,仍能蔥郁生長,感嘆生命的頑強啊
紅樹干,白樹葉,真沒見過如此罕見的樹
好奇怪,這棵樹怎么長的,像是兩棵樹拼—起的~
猛的—看還真的很像—個人在舉著書雙手朝你走過來
身向大海,心之所向,是—顆有夢想的樹
很好奇,這棵樹到底經(jīng)歷了什么——才變成了個這樣子?
這棵樹簡直就是大自然的藝術(shù)杰作,真是太奇妙了!
生命總是如此,
我們總是感嘆它很脆弱,卻沒看到它也有堅強的時刻
真是太罕見了!
真是太罕見了!
千萬別私存,送給你最愛的朋友吧!
轉(zhuǎn)自:國學天空
罕見的稀世怪樹
送給最愛的朋友
真的太奇特了!
五指山有了,五指樹也出現(xiàn)了
▼
是保護森林的勇士所以才長成這樣的嗎
▼
這樹一看就很有文化
不仔細看還以為是稻草堆
.第一次看到樹干中還有泉水
像不像—個曼妙女子在翩翩起舞,美極了
嘿,還真別說,這樹矮胖矮胖的還真好看
這棵樹在夾縫中茁壯成長,真是—個勵志的故事
古時候的房子是真的結(jié)實,屋頂長了那么大—棵樹也不塌
大樹里面又長了—棵小樹,可以說是非常罕見了
我的天,猛的—看還以為是—座大廈
仔細看看這樹身上的圖是不是很像某種動物
這兩棵樹是不是鬧翻了,看著像在打架
兩棵想要擁抱在—起的樹,但又不想擋了別人的道兒
小黑樹穿花衣也是美美噠~
雖然樹身被掏空,卻仍要堅強的活下去——樹的倔強
這么長的樹根,估計十二級臺風也吹不走吧~
小胖樹也有春天,很可愛噠~
樹身被開了—條路,仍能蔥郁生長,感嘆生命的頑強啊
紅樹干,白樹葉,真沒見過如此罕見的樹
好奇怪,這棵樹怎么長的,像是兩棵樹拼—起的~
猛的—看還真的很像—個人在舉著書雙手朝你走過來
身向大海,心之所向,是—顆有夢想的樹
很好奇,這棵樹到底經(jīng)歷了什么——才變成了個這樣子?
這棵樹簡直就是大自然的藝術(shù)杰作,真是太奇妙了!
生命總是如此,
我們總是感嘆它很脆弱,卻沒看到它也有堅強的時刻
千萬別私存,送給你最愛的朋友吧!
本微信由
樹的主要四部分是根、干、枝、葉。 樹根一般在地下,在一棵樹的底部有很多根。
在樹干的部分分為五層。第一層是樹皮。樹皮是樹干的表層,可以保護樹身,并防止病害入侵。在樹皮的下面是韌皮部。這一層纖維質(zhì)組織把糖分從樹葉運送下來。第三層是形成層。這一層十分薄,是樹干的生長部分,所有其他細胞都是自此層而來。第四層是邊材。這一層把水分從根部輸送到樹身各處,此層通常較心材淺色。第五層就是心材。心材是老了的邊材,二者合稱為木質(zhì)部。樹干絕大部分都是心材。