下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Chapter3BasicDataStructures(Zilei: Hash樹USTCUSTC棧棧實(shí)現(xiàn)的是一種后進(jìn)先出(LIFO)策略的動(dòng)態(tài)集用一個(gè)數(shù)組S[1:n]實(shí)現(xiàn)一個(gè)可容納n個(gè)元素的629STACK-EMPTYSTACK-EMPTY1.ifreturn3.elsereturnPUSH(S,S[S.top]=1.ifSTACK-error3.elseS.top=S.top-return隊(duì)列實(shí)現(xiàn)的是一種先進(jìn)先出(FIFO)策略的動(dòng)態(tài)集用一個(gè)數(shù)組Q[1:n]實(shí)現(xiàn)一個(gè)可容納n-1個(gè)元素的隊(duì)Q.head指向隊(duì)頭元素,Q.tail指向下一個(gè)元素要插入的位629629ENQUEUE(Q,
ifelse
ifQ.head=elsereturnUSTC雙向鏈表:每個(gè)元素一個(gè)key和兩個(gè)指針:next,哨兵L.nil位于表頭和表尾之L.L.nil.next指向表頭,L.nil.prev指向表9?USTC使用哨兵的好處是使代碼整潔,并提高效假定數(shù)據(jù)沒有排whilex≠L.nilandx.key≠x=return
LIST-INSERT(L,
LIST-DELETE(L, USTC二叉樹:節(jié)點(diǎn)xp和指針left ChildkUSTC圖圖G=(VE),其中V為頂點(diǎn)集合,???????為邊所有的情況下 =如果圖示連通的(connected), ?→og?? =g??)USTC給定G=(V,E), =??,用矩陣????×??表示????, if(??,??)∈ A123A123410110200103000040010USTC給定G=(V,E), =??,用鏈表??????[??]??表Adj[1]Adj[1]={2,Adj[2]=Adj[3]=Adj[4]=使用Θ(??+??)的存使用Θ(??+??)的存 —asparse對(duì)無(wú)向圖:∑v∈V=2USTCUSTC LEFT(i):returnRIGHT(i):return2
39324193241
USTC最大堆:A[PARENT(i)]≥A[iMAX-HEAPIFYBUILD-MAX-HEAP USTC????≤ +Θ?? =?? =??(logMAX-輸入A和i,假定當(dāng)前根節(jié)點(diǎn)的LEFT(i)和RIGHT(i)已經(jīng)都是二叉通過(guò)讓A[i]的值在最大堆中逐級(jí)下USTCMAX-通過(guò)讓A[i]的值在最大堆中逐級(jí)下USTC將一個(gè)數(shù)組A[1:n]變成一個(gè)最大loglog?? log= ?≤ =??(??)i+1,i+2,n在任意高度h上,之多有??/2?+1USTCUSTC初始時(shí)將數(shù)組A[1:n]建成一個(gè)最大互換A[1]和A[n],然后迭代在A[1:n-1] 最大堆性每次調(diào)用BUILD-MAX-O(n)+(n-USTCUSTC(priority用 有一組元素構(gòu)成的集合,每個(gè)元素有一個(gè)支持操作(以最大優(yōu)先級(jí)隊(duì)列為例INSERT(S,把元素x插入集合S中,及返回SEXTRACT-去掉并返回S中具有最大關(guān)鍵字的元INCREASE-KEY(S,x,將元素x的關(guān)鍵字的值增加到k,這里k大于等于x的原關(guān)鍵USTC
USTC
USTChashUSTCTnTINSERT(T,DELETE(T,SEARCH(T,USTCU={0,1,…,m-用一個(gè)數(shù)組T[0:m-1]進(jìn)行USTC→USTC用一個(gè)hashh將關(guān)鍵字全域U映射到{0,1,…,m-USTCUSTC(simpleuniform每個(gè)key值等可能地被散列到任一槽中,且它們是相互獨(dú)立??=??/?? 素的期望時(shí)間為期望時(shí)間為Θ(1+??)(如果??=?? or??=??(??),則期望時(shí)間為USTC相似的關(guān)鍵字具有截然不同的散列USTC? =??modm不應(yīng)該為2的冪2000個(gè)字符串,期望平均查找三次→即:???=??modUSTC常數(shù)因子? ??(????modm一般選取為2的冪次(移位運(yùn)算處理??
?1=525USTC用m表示一個(gè)素即:??= ??0,??1,?,?????1 with0≤????<???? ??0??1?????1,其中????是從{0,1,…m-1}中隨機(jī)選取定義?????
????????mod它在實(shí)際應(yīng)用中很有效,但計(jì)算代價(jià)較USTC每個(gè)表項(xiàng)或包含一個(gè)元素,或?yàn)楹锰幨?指針節(jié)省空間,從而提 的槽,同時(shí)提高效插入時(shí)要系統(tǒng)地探查所有表項(xiàng)直到找到一個(gè)空表項(xiàng)為這里的hash函數(shù)依賴于鍵值和探查號(hào)?:?? 0,1,…,??? →{0,1,…,???探查序列???,0,???,1??,???1)應(yīng)當(dāng)是0,1???的一個(gè)排當(dāng)表項(xiàng)被填滿時(shí),刪除變得比USTCUSTCUSTCUSTC給定一個(gè)普通的hash函數(shù)?′??,線性探查采用如下hash???, ?′ +??mod該方法容易實(shí)現(xiàn),但存在一次群集(primaryUSTC給定兩個(gè)普通的hash函數(shù)?1??和?2(??),雙重散列采用???, ?1 +??? mod這里的?2??必須對(duì)??取m為2的冪次,?2??取m為素?cái)?shù),?2??總是產(chǎn)生小于mUSTC給定裝載因子??=??<1的開放尋址hash表,對(duì)一次成功1/(1類似地,一次成功1 USTC參考如果??是一個(gè)常數(shù),則 如果hash如果hash90%USTC USTC每一個(gè)把U映射到{0,1,…,m-如果對(duì)任意的??,??∈??,??≠??,滿足? =?(??)的?函數(shù)個(gè)數(shù)至多 ,則稱?是全域即x和y 幾率為1如果隨機(jī)地從?hash函USTC證明:參考CLRS-pp.150(Chinese =USTC情況下的搜索時(shí)間為USTCUSTCBinarysearchtree–設(shè)??為BST任一節(jié)點(diǎn),??是左子樹任一節(jié)點(diǎn),則??.????????.??????;是右子樹任一節(jié)點(diǎn),則??.??????≥??.USTC包括SEARCH、MINIMUM、 假定樹的高度→TREE-SEARCH(x,ifx==NILorreturnifreturnTREE-SEARCH(x.left,
whilex≠NILandk≠ifreturnUSTCwhilex.left≠x=return
whilex.right≠x=returnifx.right≠returnTREE-y=whiley≠NILandreturn
ifx.left≠return y=whiley≠NILandreturnUSTCy=x=T.root;whilex≠NILifz.key<x.keyelsez.p=ify==T.root//emptyelseifz.key<y.leftelsey.right=z.key=v,z.left=NIL,z.right=USTCy是z的右孩y在右子樹中,但不是z的右孩USTCifu.p==T.rootelseifu.p.left=elseu.p.rightifv≠
ifz.left==elseifz.right==elsey=TREE-ify.p≠y.right=y.left=USTC創(chuàng)建一個(gè)空BST,按順序“TREE-INSERT(TUSTCUSTC??(log這不等價(jià)于樹的期望高度為??(log??)(實(shí)際上如此需要額外的證USTC定義 ????表示隨機(jī)BST的高度,????=2????k????=1+max?????1,????=2?max(?????1,?????) 量??????如下?????? iftheroothasrank0
Pr??????= =
=USTC???? ??????(2?max???1,?????→??[??]=?? ?? ??????(2?x,??) ??[??????(2?max?????1,???????= ??[??????]??[max?????1,???????2≤ ???????1+Eachtermappearstwice,andreindex.4Eachtermappearstwice,andreindex.==
USTC ??[??]≤ ???1
代入法可證明??[??]≤2??[????]≤?? =??
≤
≤3log??+
USTC??(logUSTC樹 1.23.每個(gè)葉節(jié)點(diǎn)(NIL)?=black-USTC樹示例4.如果一個(gè)結(jié)點(diǎn)是紅色的,則它的兩個(gè)子結(jié)點(diǎn)都是黑色USTC一棵具有n個(gè)鍵值 ?≤2log(??+USTC高度?′USTC ?′≥ 是??+1USTC樹上SEARCH、MIN、MAX、SUCCESSORPREDECESSOR的運(yùn)行時(shí)間為??(log操作INSERT和DELETE會(huì)引 操作本顏色修需要重構(gòu)樹的連接也保 性質(zhì)(通過(guò)“rotation”操作USTC保持中序的鍵值a∈α,b∈β,c∈γ?a≤≤b≤B≤在??(1)時(shí)間內(nèi)能夠完USTC將待插入節(jié)點(diǎn)x 通過(guò)重 性 USTC??=重USTC??=RIGHT-RIGHT-重USTCCasezyz重重USTCCase2:zyzCase3:zyzRIGHT-RIGHT-USTC??(log??(logCase1:重 Case2orcase3:執(zhí)行1-2次執(zhí)行次數(shù)??(log參考USTCOS-RANK(S,x)x→??(log 動(dòng)態(tài)集合USTCx.sizex.size=x.left.size+x.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 帽粉產(chǎn)品供應(yīng)鏈分析
- 專業(yè)書籍出版行業(yè)相關(guān)項(xiàng)目經(jīng)營(yíng)管理報(bào)告
- 農(nóng)業(yè)智能施肥機(jī)行業(yè)經(jīng)營(yíng)分析報(bào)告
- 吸入器產(chǎn)品供應(yīng)鏈分析
- 農(nóng)業(yè)保險(xiǎn)科技行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 石蠟紙市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 農(nóng)業(yè)生物農(nóng)藥行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 兩輪機(jī)動(dòng)車用擋泥板產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 手表表柄產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 頭發(fā)造型用噴霧產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 孕產(chǎn)婦妊娠風(fēng)險(xiǎn)篩查與評(píng)估
- 走出舒適區(qū):如何突破自我設(shè)限獲得持久行動(dòng)力
- 幼兒園心理健康教育課件含教案-《情緒》課件
- 折翼的精靈:青少年自傷心理干預(yù)與預(yù)防
- 2023年資產(chǎn)負(fù)債表模板
- 浙江省杭州市保俶塔教育集團(tuán)2023-2024學(xué)年八年級(jí)上學(xué)期期中科學(xué)試卷
- 第四課探索認(rèn)識(shí)的奧秘高中政治統(tǒng)編版必修四
- 《中國(guó)餐桌禮儀》(說(shuō)課稿)-小學(xué)生主題班會(huì)通用版
- 三角函數(shù)在新舊教材中的對(duì)比(全文)
- 總法律顧問述職報(bào)告書
- 高速公路機(jī)電維護(hù)安全培訓(xùn)編制課件
評(píng)論
0/150
提交評(píng)論