數(shù)據(jù)結(jié)構(gòu)查找_第1頁
數(shù)據(jù)結(jié)構(gòu)查找_第2頁
數(shù)據(jù)結(jié)構(gòu)查找_第3頁
數(shù)據(jù)結(jié)構(gòu)查找_第4頁
數(shù)據(jù)結(jié)構(gòu)查找_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第九章查找本章主要內(nèi)容:1.查找表的各種實(shí)現(xiàn)方法:靜態(tài)查找表動態(tài)查找表2.查找的性能分析——平均查找長度的討論。本章重點(diǎn):1.熟練掌握順序表和有序表的查找方法;2.熟練掌握二叉排序樹的構(gòu)造和查找方法;3.掌握二叉平衡樹的維護(hù)平衡的方法;4.理解B-樹、B+的特點(diǎn)以及它們的建樹過程;5.熟練掌握哈希表的構(gòu)造方法,理解與其它結(jié)構(gòu)的表的實(shí)質(zhì)性的差別;6.理解平均查找長度的計(jì)算。第九章查找9.1靜態(tài)查找表9.2動態(tài)查找表9.3哈希表第九章查找查找(又稱檢索),簡單地說就是查表。本教材將查找也歸納為一種數(shù)據(jù)結(jié)構(gòu)——查找表。1.查找表

是由同一類型的數(shù)據(jù)元素(或記錄)構(gòu)成的集合??梢岳斫鈱⒏鞣N數(shù)據(jù)結(jié)構(gòu)(數(shù)組、鏈表、和樹形)組成的一個表,在此表中進(jìn)行查找操作。2.對查找表的操作(1)

查詢某個“特定的”數(shù)據(jù)元素是否在查找表中;(2)

檢索某個“特定的”數(shù)據(jù)元素的各種屬性;(3)

在查找表中插入一個數(shù)據(jù)元素;(4)

從查找表中刪除某個數(shù)據(jù)元素。第九章查找

3.靜態(tài)查找表只作前兩種稱為“查找”操作的查找表為靜態(tài)查找表。靜態(tài)查找表中表的內(nèi)容不變。

4.動態(tài)查找表在查找過程中同時插入表中不存在的數(shù)據(jù)元素或從查找表中刪除已存在的某個數(shù)據(jù)元素,此類表為動態(tài)查找表。表中的內(nèi)容不斷變化。

5.關(guān)鍵字?jǐn)?shù)據(jù)元素(或記錄)中某個數(shù)據(jù)項(xiàng)的值,用它可以標(biāo)識一個數(shù)據(jù)元素(或記錄)。

6.主關(guān)鍵字唯一標(biāo)識一個記錄的關(guān)鍵字。第九章查找7.次關(guān)鍵字識別若干記錄的關(guān)鍵字。

8.查找

根據(jù)給定的某個值,在查找表中確定一個其關(guān)鍵字等于給定值的記錄或數(shù)據(jù)元素。9.查找成功表中存在關(guān)鍵字等于給定值的記錄,查找結(jié)果為給出記錄的信息或該記錄在表中的位置。10.查找不成功表中不存在關(guān)鍵字等于給定值的記錄,查找結(jié)果為空記錄或空指針。

11.性能分析衡量一個算法好壞的量度有三條:時間復(fù)雜度、空間復(fù)雜度、算法其它性能。查找算法中的基本操作是“將記錄的關(guān)鍵字和給定值進(jìn)行比較”,以“其關(guān)鍵字和給定值進(jìn)行比較的次數(shù)的平均值”為衡量查找算法好壞的時間標(biāo)準(zhǔn)。

平均查找長度定義為確定記錄在查找表中的位置,把查找過程中對關(guān)鍵字需要執(zhí)行的比較次數(shù)稱為平均查找長度。平均查找長度為存儲結(jié)構(gòu)中數(shù)據(jù)對象總數(shù)n的函數(shù):ASL=∑PiCi(1≤i≤n)其中:Pi為查找表中第i個記錄的概率,∑Pi=1Ci為找到表中其關(guān)鍵字與給定值相等的第i個記錄時,關(guān)鍵字和給定值已比較的次數(shù)。Ci隨查找過程不同而不同。Ci取決于所查找記錄在表中的位置。

一、順序表的查找

9.1靜態(tài)查找表

9.1靜態(tài)查找表

一、順序表的查找二、有序表的查找三、索引順序表的查找

一、順序表的查找

9.1靜態(tài)查找表在線性表進(jìn)行的查找。用順序表或線性鏈表表示查找表。1.表的存儲結(jié)構(gòu)typedef{Elemtype*elem//數(shù)據(jù)元素存儲空間基址Intlength//表的長度}SSTable;2.定義從表中最后一個記錄開始,逐個進(jìn)行記錄的關(guān)鍵字和給定值的比較,若某個記錄的關(guān)鍵字和給定值比較相等,則查找成功;反之,若直到第一個記錄,其關(guān)鍵字和給定的值比較都不等,則查找不成功。3.算法intSearch_Seq(SStableST,Keytypekey){

ST.elem[0].key=key//ST.elem[0].key為“哨兵”for(i=ST.length;ST.elem[i].key!=key);--i)returni;}

一、順序表的查找

9.1靜態(tài)查找表4.歐性能你分析對于怨含有n個記夫錄的旅表,符查找跪成功善時的沖平均醋查找舞長度倆為AS芝L=道∑PiCi(1沖≤i誦≤n灣)一般Ci=n捉-i磚+1設(shè)每吸個記從錄查匹找的概率剃相等,即Pi=1您/n螺n為表即的長厲度則AS從Lss=1從/n月*∑斧(n滔-i誦+1萍)=(n農(nóng)+1封)/寄2一、桑順積序表聽的查郵找9.淘1靜態(tài)查找錫表上述歌定義木是忽壓略查傅找不靠成功摟的概秩率,牲否則積,查找演算法膛的平召均查炭找長沃度應(yīng)什為查產(chǎn)找成烘功的涂平均端查找弄長度柄和查杰找不除成功艇的平戚均查低找長求度之表和。塑(假以設(shè)成型功與葛不成薪功的跌概率判相同礙,對鼓每個干記錄榆查找倡的概爪率也凳相同疫,此軍時對緣瑞任一疏記錄宋查找擇的概茶率為經(jīng)1/都(2n)接,即Pi=1蹄/(鼓2n拘))(查找晉不成核功需昌要比結(jié)較n+危1次)AS秘Lss=1簡/2回n*笑∑(攜n-桐i+苦1)歡+座∑腫n(皺n+屢1)借/2良n=1冷/2褲n*乏∑(饑n-析i+陷1)災(zāi)+煤(糕n+胳1)遍/2雞=3(顆n+楊1)漆/4查找勿成功窯的平精均查蜜找長日度查找隊(duì)不成郊功的慎平均攪查找紙長度二、汗有序互表的藝查找所謂有序逼表是指鋒表中雖數(shù)據(jù)色元素蔽(或坡記錄拆)是憲有序偶的(遞增確、遞港減),謙在有批序表自中進(jìn)延行查飾找所蒼用的棚方法長主要憐是折半東查找府(二王分法拳查找陷)。1.復(fù)折半床查找耳方法在所欣查找是的區(qū)慚間范教圍內(nèi)料,以蓋處于塑區(qū)間罪中間與位置番記錄康的關(guān)噸鍵字籮和給初定值討比較爹,若嚇相等欠,則皆查找年成功劑;若濃不等窮,則秧縮小縱范圍炮在新岔的區(qū)切間繼屠續(xù)折手半查吸找。森新的舊區(qū)間浩是通到過判鵲斷關(guān)嗚鍵字郵和給襲定值稅的大柴小,廢若關(guān)托鍵字裝值比陵給定酷值小擁,則豪新的妖區(qū)間蝴為小熊于中犁間位塞置的線區(qū)間笨;否割則為衣大于夾中間貨位置絲式的區(qū)眨間。感直至掃新的顏區(qū)間通中間槽位置眾的記飯錄的撕關(guān)鍵男字等征于給慈定值到或者涂查找怒區(qū)間霸的大房誠小小耍于零滴時(狐找查戒不成析功)腳為止踐。9.劣1靜態(tài)查找咱表1耀234567煉8喚9射10姓1然12105131921375664妥75誤80畫8890lo斯whi鴉ghmi濕d=(l科ow乒+h迎ig鄙h)宜/2hi奮gh皇=m售id拋-1mi械dLo見w=妨mi述d+伯1mi俯d查找成泡功薄,返鬧回mi叨d值。尼比較綁次數(shù)原為3僻次。2.續(xù)折即半查閉找的缸算法采用爬順序配存儲牙結(jié)構(gòu)挑。In頁t悔Se何ar廊dh_B轉(zhuǎn)in永(SS裳Ta夏bl糕eST茫,Ke夢yT填yp為eke土y){lo芝w=牧1;完hi搏gh披=S餓T.放le認(rèn)ng食th;悲//置區(qū)捆間初已值wh失il呆e(鼓lo涼w<笑=h憶ig爽h){mi宵d=水(l音ow聲+h貼ig激h)重/2;//取不輛大于撫(lo虧w+偶hi療gh噸)/腐2的值if皺(基ke眠y=完=S媽T.el晨em[m怪id飄].佳ke幅y)re召tu也rn非m則id;el粉se釀i廢f瞇(k疤ey堤<S科T.el省em[m榜id爆].喉ke熄y)hi滅gh賄=m摸id貼-1;el促selo拔w=臥mi基d+胸1;}re嘴tu啟rn棍0;}二、獄有序距表的總查找9.抖1靜態(tài)查找耐表3.跑折虧半查踐找的銀性能土分析如下稈11皮個數(shù)拿:1胖2藏3挖4譜5址6應(yīng)7病8否9嬸10無1辛105快1箭3農(nóng)19奧2若1剃37大56偏64漂7獵5照80感88講9桿03調(diào)4燙2隸3黎4懸1引3愧4乞2雞3眠4查找曾時,脹第6連位置捎的5串6需杜比較震1次盒;第能3和殖9位富置的狗19汗和8尤0需慮比較鳥2次序;第邁1、影4、應(yīng)7和賞10縮慧位置田上的晃數(shù)據(jù)乎需比續(xù)較3米次;美第2欠、5供、8乒和1棕1位緒置的軋數(shù)據(jù)昨需比走較4街次。(1握)雙判渠定樹用二粱叉樹朱描述耀折半逐查找丑的過惰程,稱此躲二叉桐樹為祥判定冰樹。二、探有序留表的天查找9.滔1靜態(tài)查找粉表假定妙有序甚表中素有n個記堆錄,躍這n個記跡錄作矛為二桶叉判覆定樹始的n個結(jié)腔點(diǎn)。贊根結(jié)僻點(diǎn)為收有序粉表的歉中間格結(jié)點(diǎn)羊即比蹄較一催次的萬關(guān)鍵便字K(l拴ow室+h年ig皇h)轟/2,左右乞子樹情分別外為K<滅K(l衣ow溝+h警ig符h)拴/2和K>球K(l李ow臟+h礙ig床h)郊/2的子蓮過程黑,這睛是一胳個遞劇歸構(gòu)幅造過乏程。二、潑有序陰表的顯查找9.危1靜態(tài)查找績表分析:一孩個折煮半成茫功查尿找,條正好摸對應(yīng)工判定倘樹的恥一個槐內(nèi)部廳結(jié)點(diǎn)叉(樹提中的譯結(jié)點(diǎn)堂),關(guān)鍵辮字的敘查找世次數(shù)為從碰根結(jié)合點(diǎn)到汗該結(jié)霸點(diǎn)的路徑怎長度摩加1或該尸結(jié)點(diǎn)甜在判定蘋樹的村層數(shù)。如程若查埋找2養(yǎng)1所館走的路掀徑為淚從根蜜結(jié)點(diǎn)舌6到是結(jié)點(diǎn)緒4,摧所走女路徑瘡長度徒為2蒙,結(jié)錢點(diǎn)4反所在爸的層覆數(shù)為挽3。結(jié)論芹:折半妖查找浸法在查找宮成功時進(jìn)維行比較捷的次瓣數(shù)最枯多不裹超過樹的流深度,即lo大g2n+1。二、愛有序辯表的波查找9.喂1靜態(tài)查找邪表(2很)駱折半護(hù)查找園的平糞均查獎?wù)议L國度折半湊查找擠時查找偽不成座功的過肌程就咳是一攏條從金根結(jié)請點(diǎn)到并外部甘結(jié)點(diǎn)培的路貴徑,比較雪的次逗數(shù)為從沖根結(jié)掏點(diǎn)到慎外部扒結(jié)點(diǎn)梨的路徑璃長度湊或內(nèi)遙部結(jié)年點(diǎn)的駁個數(shù)。因趣此不成躲功查傅找的成比較女次數(shù)最多談也不隙超過lo銳g2n+1。二、婚有序饞表的握查找內(nèi)部唯結(jié)點(diǎn)外部士結(jié)點(diǎn)9.減1靜態(tài)查找股表二、奏有序聯(lián)表的勒查找為了鍵討論各方便米,假消設(shè)有吼序表織的長亂度n=微2h-1靈(反之h=夾lo教g2(n功+1服))超,則描鉗述折饑半查震找的衫判定擋樹是民深度唱為h的滿喘二叉前樹;廉另假填設(shè)每杜個記哈錄的賤查找悅概率循相等委=1罪/n;則折攻半查搬找的平均貴查找窗長度己為:AS例Lbs=∑PiCi(i從1櫻到n)=1付/n欺*∑茶j*稀2j-罰1(j從1端到h)=nn+掙1lo篇g2(n酷+1衫)-膀1折半象查找勉的效窗率比躍順序尚查找煙高,娃但只硬適用乘于有序壞表且觸順序苗存儲糊結(jié)構(gòu)。9.吉1靜態(tài)查找途表三、索引誦順序衣表的烤查找以索蒜引順達(dá)序表飄表示情靜態(tài)究查找?guī)?,辭則用巧分塊塞查找棋來實(shí)夾現(xiàn),苦又稱索引儀順序臘查找,性哄能介討于順宰序查圣找和清折半職查找譽(yù)之間潮。1.筒索引蝴順序度表的頃結(jié)構(gòu)(1睜)線性瘦表:表殺中的培結(jié)點(diǎn)釀被分籮為若獵干塊服,每射一塊卵中的需結(jié)點(diǎn)黨是任烘意存伯放的婆,塊沉與塊協(xié)之間片的結(jié)皆點(diǎn)關(guān)雜鍵字碧是有萄序的芹,稱氣為分叮塊有者序。(2眠)索引葛表:將丙線性綿表分蘇成若揪干塊掌構(gòu)成隊(duì)一個棒索引甩表,貧每一緊塊是逢線性錢表中豆的一塌個子郊表,遙對應(yīng)惜索引朗表的聰一個途索引砌項(xiàng),索引桂表按采關(guān)鍵令字有連序。索引章項(xiàng)關(guān)鍵戚字項(xiàng)鎮(zhèn):子表參內(nèi)最膨大關(guān)升鍵字指針覽項(xiàng):子表盈的第共一個常記錄姐在表艦中的笨位置9.偽1靜態(tài)查找銷表2248861713索引鏈表2212138920334244382448605874865312胞3騾4磨5螺678隸9煤10省1追1經(jīng)1廟21314眼1向5婆16謎17最大橋關(guān)鍵繪字品起始期地址三、索引扭順序較表的釀查找線性狀表9.凝1靜態(tài)查找丹表2.頑分塊裙查找托的步置驟方纏法第一漁步:堅(jiān)確定艦要查莖找的伏記錄視在表宣中的災(zāi)哪一亭塊,捷在索蒼引表中采胡用順序僵查找或折半揚(yáng)查找。第二贏步:描在確嬸定的燙塊中拳查找滑記錄糞,由累于塊勸中的濱記錄層是任意排決列的塵,只燥能采閘用順序從查找。3.阻性能郵分析平均決查找擱長度決為:AS筍Lbs=Lb+Lw將長倉度為n的表裁均勻犯分成b塊,私每塊圣含s個記脾錄,b=銷n/叉s,設(shè)查匙找概旁率相躁等,榜分別替為1躺/b,封1/株s。則順冊序查偉找所樣在塊懇平均嘆查找虎長度薯為:三、昌索引兵順序位表的厲查找9.株1靜態(tài)查找問表(2海)AS符Lbs≈l尾og2(n糾/s能+1年)+依s/烈2蜂(折半鋒查找愛確定投所在籃塊)9.眾1父靜章態(tài)查掘找表例:建立失一棵瘦具有羨13扁個結(jié)票點(diǎn)的香判定雕樹,槽并求井其成爛功查墻找和冤不成脫功查類找的搶平均道查找展長度幟各為止多少鋪。9.嬌1年靜糧態(tài)查消找表AS秧L成功=1蜂/1效3(靈1+雙2*回2+武3*慰4+盞4*酸6)鼻=4南1/順13AS膽L失敗=1嘗/1仇4(掠3*險(xiǎn)2+舊4*漁12匙)=副54濕/1贈4解:蘇用結(jié)揪點(diǎn)的細(xì)序號倆表示驗(yàn)結(jié)點(diǎn)桐,構(gòu)座造的四判定街樹是:9.嫩2找動頁態(tài)查魄找表一、框二叉貓排序業(yè)樹(至二叉晝查找挽樹)二、趕平衡枯二叉騰樹三、B-樹和B+樹1.亡動態(tài)近查找架表的讓特點(diǎn)表結(jié)興構(gòu)本哈身是尚在查貫找過妻程中秧動態(tài)橋生成悉的,彈即對轉(zhuǎn)于給暑定值ke幅y,若表浙中存在其關(guān)鍵息字等革于ke榜y的記芒錄,則查找味成功,否釋則插入弊關(guān)鍵夜字等于ke搞y的記葉錄。2.秒動態(tài)洽查找傍表的階抽象盤數(shù)據(jù)瞧類型勞定義略。3.習(xí)動態(tài)俊查找貸表主江要以樹結(jié)咳構(gòu)表示酸實(shí)現(xiàn)骨。9.案2粱動才態(tài)查背找表1.攪二隸叉排役序樹受定義二叉麥排序蓮樹(Bi判na古ry異S降or大t聾Tr婦ee策)或者說是一誤棵空千樹;或者狡是具率有下兄列性寄質(zhì)的孔二叉幅樹:若它宇的左啞子樹辰不空搜,則左子崗樹上所強(qiáng)有的諒結(jié)點(diǎn)如的值緊均小于條它的勢根結(jié)坐點(diǎn)的疏值;若它抽的右干子樹酒不空魚,則右子控樹上所潔有的吉結(jié)點(diǎn)謠的值球均大于戀它的告根結(jié)解點(diǎn)的禽值;它的左、好右子偉樹也顛分別牛為二位叉排算序樹。一、贊二叉欠排序炒樹(資二叉憶查找旋樹)9.獎2動態(tài)哀查找伴表一、用二叉掩排序背樹(項(xiàng)二叉列查找堅(jiān)樹)9.嶄2動態(tài)獲查找唉表2.濤二買叉排賴序樹枝的查覽找過眠程當(dāng)二資叉排展序樹狐不空償時,按先將憲給定彈值和蘆根結(jié)襪點(diǎn)的伸關(guān)鍵鬧字比則較,爽若相癥等,卸則查剛找成曠功;否則碎,3.黃二叉伍排序迅樹的盡存儲裝結(jié)構(gòu)通常炸采用二叉志鏈表作為促二叉說排序摸樹的杰存儲棄結(jié)構(gòu)惑。一、糖二叉抗排序估樹(峽二叉怖查找鑼樹)若給臥定值橫小于熔根結(jié)肥點(diǎn)的導(dǎo)關(guān)鍵殲字,鐵則在突左子醋樹上痕繼續(xù)俊進(jìn)行情查找宿;若給岔定值抽大于犯根結(jié)孝點(diǎn)的閱關(guān)鍵愧字,雜則在詞右子廟樹上治繼續(xù)廳進(jìn)行碑查找樂。9.糊2動態(tài)縫查找陶表4.波二叉充排序酷樹的夫查找裕算法這是農(nóng)一個阻遞歸拌查找霜過程湯:Bi憂Tr襯ee各S筆ea顯rc桶hB鍋ST(Bi乞Tr匙eeT,Ke魂yT懷yp爬eke猶y){i沖f(提(!逼T)翻||同(k國ey洲==柳T-晝>d嫩at造a.沸ke更y)福)re盜tu腎rn成(T宵);el貌se宋i幟f(化ke剝y<陪T-籮>d賓at若a.肉ke紫y)re悟tu奧rn乞(Se欺ar仁ch愉BS考T(T慮->lc趣hi駱ld,k勤ey皮))引;el聽sere爬tu順rn糟(Se貨ar姥ch騰BS尚T(T列->rc禍hi些ld,k愧ey越));}一、蝦二叉優(yōu)排序悲樹(照二叉錫查找均樹)9.污2動態(tài)病查找治表1.涼二叉狐排序姓樹的水插入這是至一個椅二叉陵排序河樹的深動態(tài)沈構(gòu)造估過程尚。(1袍)忘插入疲算法二叉朵排序掉樹是取一種絹動態(tài)宣樹表妻。特點(diǎn)倚:樹的如結(jié)構(gòu)斃通常碌不是炕一次蜂生成起的,遠(yuǎn)而是壞在查押找過姻程中斑,當(dāng)樹乘中不屈存在慚關(guān)鍵娘字等垮于給舍定值戰(zhàn)的結(jié)編點(diǎn)時俘再進(jìn)裙行插港入。新插蟻入的潔結(jié)點(diǎn)桌一定逼是一栽個新添刃加的葉子結(jié)點(diǎn),并煉且是單查找逝不成玻功時托查找緣瑞路徑導(dǎo)上訪捆問的迷最后瞧一個纖結(jié)點(diǎn)少的左寸孩子晴或右搖孩子坐結(jié)點(diǎn)胖。二、魯二叉礙排序冬樹的飽插入諷和刪由除9.抖2動態(tài)森查找趙表St甘at戲usSe叛a(bǔ)r罷ch跌BS虹T(Bi赴Tr女eeT,Ke字yT挪yp蔑eke裳y,Bi毯Tr票eef,Bi雨Tr串ee&p){紙//查找霞不成寺功,p指向哭查找褲路徑包上訪兩問的神最后協(xié)一個薦結(jié)點(diǎn)if困(!茅T){p狠=f服;r愛et宴ur悉n堵FA稅LS劣E;魚}el瞎se融i圣f品(k梯ey解==殲T-獻(xiàn)>d鮮at粱a.艷ke緣瑞y)由{p模=T陵;塘re漢tu校rn籌T就RU玻E;挑}轟//查找石成功撫,p指向嚼找到夫的結(jié)膜點(diǎn)el控se塑i昂f綢(k孔ey歐<T突->壁da呢ta歡.k陽ey短)re覺tu隆rnSe翻ar惹ch奏BS洪T(T-張>lc庸hi喜ld,ke疏y,T,p);el扶se按r亂et遺ur撿nSe精ar謎ch疲BS糧T(T-晌>rc行hi中l(wèi)d,ke肅y,T,p);}St隨at災(zāi)us棋I糞ns撤er勵t_尋BS撒T(Bi皺Tr間ee&T碌,El野em熱Ty偏pee){憤if近(!Se懷a(bǔ)r婦ch平BS粱T(T,e.鞏ke思y,NU調(diào)LL課,p))弟/檔/查找蠶不成蔥功{s=圣(Bi北Tr霉ee*)ma焰ll蘆oc(si絲式ze居of(Bi漁TN仙od兇e))匠;s-只>d概at億a=柴e.駛ke庫y;銅s-翅>lc柏hi嶼ld=s訓(xùn)->rc促hi茅ld=N手UL絞L;if右(!沸p)唯T頓=s央;el猜se模i溫f菌(e什.k證ey踢<p絹->缺da炊ta猾.k坊ey石)棋p菜->lc夸hi否ld=s叫;el籌se西p-浮>rc宿hi貸ld=s儲;re旨tu是rn芳T菠RU壟E;傘}el肝se曬r婚et寧ur蛾n扒FA鎮(zhèn)LS到E;}二、粱二叉睛排序背樹的辱插入輕和刪頭除9.標(biāo)2動態(tài)罩查找調(diào)表(2姐)二蔬叉排響序樹喚的構(gòu)醋造特純點(diǎn)若從題空樹勤出發(fā)斧,經(jīng)擠過一甩系列鈔的查劉找插屠入操嗽作之擦后,蔬可生煮成一子棵二怪叉排帶序樹御。中序碎遍歷蹲二叉析排序筍樹可得抵到一守個關(guān)鍵或字有察序的典序列。構(gòu)造旬樹的灣過程懇就是成一個鴨對無看序序油列進(jìn)孫行排頁序的極過程。一糟個無朗序序敞列通蜜過構(gòu)敵造一宋棵二晶叉排升序樹撤而變既成一孩個有濫序序朽列。在二魯叉排秩序樹釘上插施入一賽個記鵲錄或味結(jié)點(diǎn)縱,不累需要繭移動饞其它括記錄葉或結(jié)逼點(diǎn)。二、尿二叉由排序郊樹的悠插入敏和刪配除9.甩2動態(tài)神查找直表例:占設(shè)查做找的綱關(guān)鍵尺字序百列{項(xiàng)45喇,2蟲4,鐵53佛,4馳5,坊12個,2吼4,顏90村},吩則生段成二脈叉排促序樹昆的過徹程如勉圖所字示。二、考二叉良排序受樹的印插入京和刪研除9.恨2動態(tài)惡查找番表2.拐在二奔叉排幟序樹躬上刪掩除一砌個結(jié)雁點(diǎn)對于利在二擔(dān)叉排俘序樹己上進(jìn)墳行一竟個結(jié)拔點(diǎn)的行刪除培,由逗于是滅在一隙個有植序序揉列中遇刪除蛛,要趨求刪屑除結(jié)租點(diǎn)后冊,仍訂保持輪二叉風(fēng)排序結(jié)樹的煮結(jié)構(gòu)沖特點(diǎn)亂不變追。(1萄)方鏈法設(shè)被肢刪除萍的結(jié)菌點(diǎn)為懸*p,其雙炊親結(jié)便點(diǎn)為捷*f,設(shè)*p為*f的左掏孩子粱。三種夾情況接:二、綿二叉將排序帖樹的貸插入熔和刪繡除9.擔(dān)2動態(tài)級查找沸表若*p為葉拼子結(jié)腔點(diǎn),滾即PL和PR均為惜空樹惕。只束需修順改其隔雙親場結(jié)點(diǎn)社的指關(guān)針即牲可,尋如圖揭(a)數(shù)。若*p結(jié)點(diǎn)缸只有責(zé)左子為樹PL或右踏子樹PR副,此時腦只要棋令PL或PR直接敘成為錢其雙敗親結(jié)昌點(diǎn)*f的左浮子樹寺即可奸,如涌圖(b)字。二、凈二叉抄排序遮樹的奴插入替和刪潔除9.薦2動態(tài)期查找汗表若*p結(jié)點(diǎn)撤的左累子樹昌和右條子樹呀均不倚空。有兩墾種處獲理方亦法。喚以下誦圖為慌例說濁明。圖(a)是在尚刪除鄭*p結(jié)點(diǎn)凍之前頭,中慨序遍墨歷二乎叉樹愛得到齒的序鳳列為污{…靜.CLC…窗QLQSLSPPRF…蜜},在刪架除*p結(jié)點(diǎn)泥之后削,要高保持莫其它而元素挨之間沈的相宜對位托置不要變。二、腦二叉送排序普樹的謠插入內(nèi)和刪揪除9.檔2動態(tài)攀查找都表方法描一:灣令*p的左發(fā)子樹脆為*f的左桑子樹毫,而擾*p的右趙子樹餐為*s的右敲子樹丑,如劣圖(b)友;方法菜二:呢令*p的直殲接前偶驅(qū)(牛或直科接后福繼)巴替代怎*p,然后回從二懸叉排察序樹紹中刪漢去它族的直謙接前筆驅(qū)(食或直奧接后占繼)雞。如盈圖(c)當(dāng)以矛直接引前驅(qū)之*s代替近*p時,偵由于倡*s只有梳左子柔樹SL,則在友刪去弓*s之后腥,只昆要令SL為*s的雙欄親*q的右落子樹植即可給。二、毯二叉哪排序宋樹的禾插入嫌和刪拳除9.避2動態(tài)戒查找置表(2最)算抵法St參at周usDe已le討te孕BS例T(Bi負(fù)Tr絹ee&T冠,Ke勁yT按yp裳eke毀y){i捆f(季!T弄)re混tu遙rn弊F器AL像SE;el娃se{i古f哨(k白ey旗==艷T-盜>d鏈at舞a.也ke糧y)re奪tu佳rn功D腳el籌et密e(滲T);el葵se排i練f(知ke蓋y<婦T-壓>d劣at蠅a.紅ke誤y)re倉tu坑rnDe備le較te思BS倉T(T藏->lc藍(lán)hi際ld,k擠ey賭);el闖se拌r某et供ur仙nDe掉le翅t(yī)e泛BS性T(T畏->rc惕hi突ld,k總ey筋);re郊tu賽rn匪T偏RU塵E;}}二、戀二叉堤排序傳樹的帥插入制和刪負(fù)除9.珍2動態(tài)睛查找拍表Vo似id欺D狐el趙et緞e(Bi握Tr衰ee&p浙){訂if川(!足p-扒>rc沿hi比ld)//右子檢樹空光則只咽需重搭接它魚的左尚子樹{q=壤p;永p=姥p-問>lc悔hi節(jié)ld;f練re楊e(鏈q)辯;}el雹se僵i完f(化!p痛->lc對hi缸ld)//左子漠樹空張只需鳳重接皆它的暈右子農(nóng)樹{q=梯p;勢p=蓄p-卷>rc再hi簽ld;f踩re處e(貫q)啟;}el衰se{q設(shè)=p淘;s做=p府->lc岡hi抗ld;wh今il競e(宴s-工>rc太hi補(bǔ)ld){q隸=s所;s視=s耕->rc教hi藏ld;}//轉(zhuǎn)左舉,然快后向休右到濫盡頭p-域>d祖at橋a=率s-險(xiǎn)>d厭at濾a;//孟s指向越被刪士結(jié)點(diǎn)殊的“列前驅(qū)”if格(q搭!=顆p)欣q擾->rc升hi屋ld=s主->lc膊hi辛ld;//重接啄*q的右裳子樹el書se平q笛->lc友hi壯ld=s糾->lc狐hi疲ld;//重接康*q的左雀子樹de氧le筋te功s盲;}集}二、璃二叉勸排序斷樹的卻插入款和刪夫除9.決2動態(tài)溉查找胸表三、巖二叉謀排序副樹的慎查找蠻分析分析可在二苦叉排趣序樹戒上查惜找其飼關(guān)鍵別字等種于給席定值先的結(jié)誘點(diǎn)的血過程排,恰是滋走了遍一條容從根倡結(jié)點(diǎn)艙到該寶結(jié)點(diǎn)說的路撞徑的貿(mào)過程壺,和援給定托值比脊較的稿次數(shù)古等于氏路徑便長度儲加1恥(或闊結(jié)點(diǎn)汽所在煙層數(shù)獵),與折識半查向找相奸類似匪。折半帳查找深長度尤為n的表懂的判慨定樹根是唯沸一的館;而聞含有n個結(jié)渴點(diǎn)的青二叉治排序肆樹卻縫不唯穿一,叫取決射于關(guān)鍵當(dāng)字的酷序列。因而此,含有n個結(jié)絲式點(diǎn)的巴二叉叉排序行樹的股平均僅查找租長度艙和樹菊的形夜態(tài)有膀關(guān)。由分析壘得知:二迎叉排羨序樹籌的平毅均查職找長擇度最差修情況余與順鞏序表影相同扔(關(guān)姿鍵字坡有序冤時);最好頌情況饑與折趴半查據(jù)找相度同。即但平江均查敢找長像度是辰和lo仰gN等數(shù)量皆級的拿。9.悼2動態(tài)言查找悉表如:脅含有柱相同棉的關(guān)粥鍵字飛的兩尋個序策列。序列崇一:秧45會,2宅4,旅53膀,1尸2,膠37事,9竭4序列續(xù)二:郊12絲式,2棒4,巖37滅,4束5,編53萬,9朵4452453123794122437455394序列鄭一O(lo強(qiáng)gN)序列躍二O(姻n)1.裕平衡如二叉略樹的企定義平衡久二叉窄樹(Ba茄la輪nc筒ed禽B扁in構(gòu)ar員y差Tr圾ee或He匪ig填ht懸-B弄al載an冷ce乳d饒Tr釘ee)又稱AV回L樹。它或柏者是一棵顫空樹;或者具有濤下列擇性質(zhì)謠的二籮叉樹:它的寫左右刮子樹用都是妹平衡確二叉蜓樹,嗎且左如子樹奮和右取子樹箏的深度撐之差京的絕榨對值臉不超處過1。2.多平衡頂因子盯(BF島)結(jié)點(diǎn)哪的平慢衡因蜜子為雞該結(jié)攝點(diǎn)的什左子協(xié)樹深緣瑞度減針去它副的右勾子樹悄深度廊。平衡樓二叉哪樹的啟平衡礙因子孔為-嚇1、片0和確1,絡(luò)即絕宗對值凱小于鞏等于筒1。冬否則烏該二容叉樹咐為不閱平衡陪二叉爺樹。四、害平衡潤二叉絲式樹9.茅2動態(tài)如查找銀表四、甲平衡軋二叉女樹不平英衡二制叉樹平衡取二叉潛樹9.設(shè)2動態(tài)閱查找位表四、置平衡僚二叉宅樹2.披平衡好二叉逗樹的腦構(gòu)成例:功將關(guān)甘鍵字廚序列鼓為{清13雹,2鳴4,耀37安,9釋0,晌53水}構(gòu)巷成二御叉排午序樹有和平駐衡二摩叉樹勁。9.立2動態(tài)銜查找鋼表四、橋平衡貪二叉衡樹{1拾3,依24呼,3蔑7,段90例,5耳3}9.牛2動態(tài)盞查找到表(1潛)在二磁叉排飯序樹論上插拘入結(jié)漫點(diǎn)或久構(gòu)造循時,裁二叉貪排序樹樹結(jié)廊點(diǎn)的揀平衡鑒因子育滿足楚絕對職值不慎超過尚1的弟條件川時,未這棵撕二叉驅(qū)排序端樹就濾是平渠衡二展叉樹惡,構(gòu)刃成方藥法同稈二叉惱排序區(qū)樹相皆同,糖無其證它變伏化。(2侄)若在坡插入滾結(jié)點(diǎn)酬時,辜使結(jié)包點(diǎn)的征平衡鮮因子嘴絕對紐奉值出抽現(xiàn)大炮于1題的時耀候,洲這時圣二叉族樹失去斃了平梁衡,需低要對滴二叉何排序帖樹進(jìn)暖行調(diào)促整,塊即“旋轉(zhuǎn)瞧”以僵保持到二叉迅排序脊樹為楚平衡嘗二叉豬樹。四、督平衡難二叉烤樹9.逼2動態(tài)喪查找倒表(3睛)對失貼去平毛衡的洞二叉秧排序啞樹的調(diào)整灑規(guī)律一般真情況魔下,家假設(shè)居由于糧在二托叉排掃序樹略上插畝入結(jié)改點(diǎn)而四失去充平衡妥的最著小子鴉樹根捆結(jié)點(diǎn)勿的指船針為a(即a是離戚插入還結(jié)點(diǎn)勿最近每,且鄰平衡異因子骨絕對脆值超事過1鉆的祖齊先結(jié)概點(diǎn))無,則刻失去研平衡債后進(jìn)港行調(diào)河整的爹規(guī)律偵可歸同納為尤下列衡四種抽情況岸:a.單向戰(zhàn)右旋騾平衡廳處理標(biāo)(LL型)b.單向精左旋戲平衡佳處理饅(RR型)c.雙向煙旋轉(zhuǎn)隱(先追左后韻右)博平衡獅處理柔(LR型)d.雙向叔旋轉(zhuǎn)葬(先飾右后萍左)慢平衡貧處理枕(RL型)四、指平衡團(tuán)二叉逗樹9.豈2動態(tài)致查找抵表單向縱右旋靜平衡匠處理浩(LL型)在a的左子卡樹的并左子悠樹上插偏入結(jié)艇點(diǎn),形使得a的平衡姑因子剛由1匹增至蘆2,窗將a的左忙孩子b提升蜻為子裝樹的根結(jié)充點(diǎn),a作為b的右子樹,b原來煎的右子父樹作為a的左子搬樹。四、區(qū)平衡志二叉悉樹9.猜2動態(tài)鑄查找配表單向宿左旋往平衡誕處理親(RR型)在a的右子副樹的探右子率樹上插戀入結(jié)村點(diǎn),相使得a的平衡斯因子貝由-眠1減齡至-爸2,欲將a的右更孩子b提升勤為子階樹的根結(jié)袍點(diǎn),a作為b的左子籮樹,b原來侵的左子廟樹作為a的右子路樹。四、肆平衡親二叉捎樹9.項(xiàng)2動態(tài)污查找稿表雙向隱旋轉(zhuǎn)縣(先龍左后包右)獲平衡認(rèn)處理涼(LR型)在a的左子檢樹的鼻右子懸樹上插棒入結(jié)識點(diǎn),獻(xiàn)使得a的平衡溜因子地由1央增至匹2,束將a的左叔孩子燒的右互孩子br提升葡為子嘉樹的列根結(jié)本點(diǎn),b、繩a作為br的左、搞右子佳樹,br原來甲的左、園右子只樹分別妄作為b的右子喊樹和a的左子孔樹。四、濤平衡恐二叉榆樹9.虹2動態(tài)泰查找招表雙向支旋轉(zhuǎn)壺(先尸右后臟左)良平衡愉處理才(RL型)在a的右子熄樹的批左子窄樹上插捷入結(jié)爐點(diǎn),衰使得a的平衡椅因子已由-線1減劍至-損2,崗將a的右綱孩子浙的左釘孩子bl提升覆為子闖樹的具根結(jié)腐點(diǎn),a、胖b作為bl的左、推右子慮樹,bl原來膀的左、鋒右子素樹分別鹿作為a的右子濤樹和b的左子可樹。四、首平衡狀二叉蓮樹9.扛2動態(tài)禾查找侍表(4損)旋轉(zhuǎn)菠操作加的正夏確性吹容易窗由“副保持劣二叉庫排序姐樹的攏特性播:中掙序遍堵歷所謝得關(guān)寫鍵字莖序列鼓自小抄至大躲有序趣”證塞明之測。(5憑)經(jīng)過擇平衡獲旋轉(zhuǎn)襲處理額之后串,以很*b或*br(*bl)為根版的新毒子樹奸為平繳衡二腫叉樹臭,而儉且它見的深起度和鋼插入餃之前室以叢*a為根諸的子連樹相梅同。楚因此繪,當(dāng)柱平衡犧二叉寨排序假樹因謝插入亭結(jié)點(diǎn)趨而失陪去平館衡時聚,僅劣需對忍最小柄不平通衡子朵樹進(jìn)籮行平牽衡旋設(shè)轉(zhuǎn)處允理即徹可。潑因?yàn)闅灲?jīng)過摩旋轉(zhuǎn)優(yōu)處理貫之后拉的子骨樹深保度和品插入地之前露相同穩(wěn),因歉而不陽影響學(xué)插入破路徑匪上所丸有祖趟先結(jié)短點(diǎn)的翅平衡憐度。四、裁平衡顛二叉法樹9.頌2動態(tài)膠查找恐表3.森在AV吃L樹BB快ST上插盞入一側(cè)個新枝的數(shù)蓄據(jù)元答素e的遞傘歸算踩法(1翼)若BB才ST為空采樹,腦則插漸入一氧個數(shù)逼據(jù)元京素為e的新葵結(jié)點(diǎn)研作為BB柴ST的根麻結(jié)點(diǎn)詢,樹姨的深沉度增楊1;(2燦)若e的關(guān)煮鍵字似和BB榜ST的根勒結(jié)點(diǎn)箱的關(guān)幸鍵字豈相等票,則帥不進(jìn)賣行插榆入;(3額)若e的關(guān)芬鍵字飽小于BB列ST的根國結(jié)點(diǎn)脫的關(guān)管鍵字玩,而艦且在BB樂ST的左壺子樹叫中不直存在撿和e相同怪關(guān)鍵采字的錫結(jié)點(diǎn)啟,則批將e插入克在BB導(dǎo)ST的左波子樹盒上,羞并且灶當(dāng)插鑒入之見后的負(fù)左子蓄樹深拍度增舒加(郵+1壞)時直,視先如下仁情況貓?zhí)幚砟蹋核?、說平衡秩二叉同樹9.轉(zhuǎn)2動態(tài)廊查找誘表BB火ST的根外結(jié)點(diǎn)原的BF為-肅1:忠則將畝根結(jié)胡點(diǎn)的BF更改斧為0固,BB扎ST的深逢度不屈變,稀如下攔圖(a)所示社。BB基ST的根智結(jié)點(diǎn)恰的BF為0蝕:則昌將根奧結(jié)點(diǎn)置的BF更改您為1羨,BB毫ST的深冰度增棄1,候如下迅圖(b)所示胳。(a)(b限)四、標(biāo)平衡眾二叉丸樹9.俗2動態(tài)轎查找宣表c)BB轉(zhuǎn)ST的根芬結(jié)點(diǎn)您的BF為1遣,分尖兩種燒情況舟:BB品ST的左蓋子樹繭根結(jié)旱點(diǎn)的BF為1版:則瞧需進(jìn)襖行單懇向右甜旋平預(yù)衡處誓理,離處理錘之后帝,根盞結(jié)點(diǎn)育和其枯右子沸樹根肯結(jié)點(diǎn)際的BF改為板0,鉛樹的儉深度節(jié)不變漏,如毯圖(c匹)。四、晶平衡吼二叉朱樹9.籍2動態(tài)膽查找?guī)捅鞡B堆ST的左勞子樹集根結(jié)酒點(diǎn)的BF為-蒙1:傻則需勁進(jìn)行挑先向辭左、孔后向序右旋技轉(zhuǎn)平涂衡處叫理,碑處理告之后剝,修梨改根妥結(jié)點(diǎn)譜和其圾左、他右子縮慧樹根遭結(jié)點(diǎn)命的BF廉,樹的秩深度糊不變喂。四、字平衡笛二叉博樹9.秀2動態(tài)胸查找奴表(4螺)若e的關(guān)侮鍵字侵大于BB豆ST的根密結(jié)點(diǎn)典的關(guān)尖鍵字滾,而族且在BB燥ST的右波子樹魔中不逮存在滿和e有相碌同關(guān)備鍵字簽的結(jié)求點(diǎn),壁則將e插入墨在BB服ST的右冒子樹把上,部并且劉當(dāng)插子入之羨后的地右子徹樹深憶度增吸加(納+1午)時毀,分哀別就坐不同姓情況獵處理幼之,沉與(苗3)基類似。四、郊平衡伐二叉它樹9.稻2動態(tài)妥查找悅表4.平巷衡樹轟查找雄的分謠析同排揭序樹襪,在仰查找捷過程肅中和識給定兇值進(jìn)廈行比準(zhǔn)較的夸關(guān)鍵階字個久數(shù)不忌超過儉樹的卻深度防。我們夸考慮級最壞唇情況燈,既n個關(guān)繩鍵字惑平衡甜樹的淡最大芒深度草,為觀此我皮們需喘要知傍道深語度為h的平屬衡樹禾所具剪有的掛最少榆結(jié)點(diǎn)肥數(shù).設(shè)深辱度為h的平下衡二得叉樹旬的最鋼少節(jié)冒點(diǎn)為Nh。已知割:N0=0,N1=1,N2=2,則Nh=Nh-翻1+Nh-慮2+1練(遞歸),和象斐波蔽那契骨序列居極為極相似經(jīng)。當(dāng)h≥箱0時,則含孟有n個關(guān)臨鍵字拍的平灘衡樹遵的最狗大深旁度。四、既平衡忘二叉琴樹9.話2動態(tài)嘉查找只表例:宿設(shè)一禍組記紗錄的務(wù)關(guān)鍵洗字按翻下列喂次序稅進(jìn)行襪插入{4筑,5趣,7逼,2佳,1幼,3賠,6門},生成郵一棵AV侍L樹。伯試描復(fù)述其年生成漁及調(diào)躬整成掏平衡川二叉消樹的父過程世,并懲指明艙該步功驟是紫屬于娛什么校調(diào)整騙平衡粘方式鋼的基正本類賽型。四、膛平衡煤二叉昨樹9.頃2動態(tài)課查找餡表四、坐平衡蒜二叉士樹9.養(yǎng)2動態(tài)渴查找假表四、沒平衡題二叉惕樹9.挪2動態(tài)辭查找勵表1.B-樹的返定義前面陸介紹啞的查吹找法嫩,僅掉適用淹于計(jì)年算機(jī)爭內(nèi)存磁中的翠文件怪或表鋒,統(tǒng)顆稱為雀內(nèi)查慮找法表,而句對外柏存上下文件蟻的查妖找稱勸為外貞查找嚼法。前面財(cái)介紹駛的方軌法也撕可應(yīng)亡用于虎磁盤吐文件殿,例蝦如一振個磁擠盤文巷件包肝含n個記京錄,n=羨106,且該介文件究表示梳成一槳棵二聰叉樹臣形,持那么迎欲從俊該文可件中洞查找奪包含乳某一榮給定廢關(guān)鍵剪字的搜記錄悶平均療來說污大約宇要做lo逃g2n=前l(fā)o插g2106≈2氏0次磁薯盤的伙存取蔬操作昆。因丸為對存磁盤熊存取滾的速廢度比閑內(nèi)存夕中的卸存取婚速度婚慢得泥多,張因此留當(dāng)n較大顛時,老用二乎叉樹雖形來病表示仁文件稍是行晌不通滋的。叨對于尼外存序上的籠文件團(tuán)而言封,減乎少查藍(lán)找過季程中宗磁盤吼存取額次數(shù)播,是孟很必懼要的喘,B-樹就傍是解芹決此墻類問初題提格出的嗽。五、B-樹和B+樹9.洲2動態(tài)撞查找窯表B-樹是賤一種令平衡攤的多池路查胳找樹寸,是壩一類鋪適于勇外查執(zhí)找的姑數(shù)據(jù)壟結(jié)構(gòu)洋。m階的B-樹,戚或?yàn)橐諛湫?,或往為滿厘足下劈燕列特折性的m叉樹題:(1蠢)樹中灑每個抱結(jié)點(diǎn)絲式至多有m棵子場樹;(2草)若根被結(jié)點(diǎn)管不是答葉子虎結(jié)點(diǎn),則偶至少年有兩棵子茶樹;(3藝)除根仿之外驢的所湖有非終部端結(jié)閱點(diǎn)至少尼有m/獅2棵子中樹;(4惜)所有非終翅端結(jié)凍點(diǎn)具有n(m/區(qū)2-趴1≤n塑≤m削-1)個關(guān)鍵爬字域和n+嗎1個指針膀項(xiàng),指覽向該漠結(jié)點(diǎn)圈的n+原1棵子婚樹;勇結(jié)點(diǎn)網(wǎng)包含勤下列封信息堵數(shù)據(jù)(n,兼A0,K1,A1,K2,A2,…筐…Kn,An)其中景:Ki為關(guān)極鍵字謎,且Ki≤Ki+1,Ai為指壺向子飛樹根采結(jié)點(diǎn)扣的指禽針,戰(zhàn)且KAi-1≤Ki≤KAi,。(5捉)所有刪葉子蹈結(jié)點(diǎn)深都出啞現(xiàn)在晚同一蒙層次發(fā)上,海且不架帶信炎息,墨僅表郊示查廈找失席敗(絞外部跑結(jié)點(diǎn)島)。五、B-樹和B+樹9.芽2動態(tài)腿查找郊表下圖蜂所示據(jù)的是長一棵魚4階指的B-樹(召又稱2-縱4樹,非儲終端天結(jié)點(diǎn)軍關(guān)鍵感字個規(guī)數(shù)至愈多為再3,萬至少桿為1紗,子密樹個壯數(shù)最險(xiǎn)少為繞2,筆最多富為4桑)五、B-樹和B+樹9.筆2動態(tài)批查找間表2.B-樹上時的查徒找在B-樹上稅的查憑找過也程和倚二叉晉排序行樹的災(zāi)查找妄類似陳。首易先在矩根結(jié)燒點(diǎn)所灘包含茫的關(guān)最鍵字符中查磨找給性定的圖關(guān)鍵臂字。先若找熔到,問則查步找成密功;鴨否則產(chǎn),確念定待礦查關(guān)災(zāi)鍵字誤所在啟的子龍樹并座在其痰上查滋找,棒直到業(yè)查找熟成功著或查似找不核成功守(失煮配結(jié)再點(diǎn)F)私。在B-樹上牛進(jìn)行捧查找耐的過恢程是青一個貌順指黃針查歪找結(jié)薯點(diǎn)和捎在結(jié)街點(diǎn)的捐關(guān)鍵挪字中亦進(jìn)行悲查找討交叉雞進(jìn)行帳的過章程賀。五、B-樹和B+樹9.盞2動態(tài)青查找齡表3.B-樹查肌找分頂析從上踩面的尸分析睛得知避,在B-樹上底進(jìn)行趕查找妥包含史兩種遣基本迫操作移:(1)散在B-樹中鄰找結(jié)躲點(diǎn):撤在磁豈盤上舉進(jìn)行煤。(2換)驕在結(jié)爭點(diǎn)中巡壽找關(guān)餃鍵字臺:在汪內(nèi)存磁中進(jìn)更行的小。對(哪1)株的查監(jiān)找效軌率決民定了B-樹的后查找胖效率鈔,取使決于粒待查吳關(guān)鍵逃字所代在結(jié)婚點(diǎn)在B-樹上肌的層日次數(shù)曉,這岸是決稠定B-樹查叨找效蜂率的雙首要疤因素亞。考慮旺最壞爭情況斯,即拉待查用結(jié)點(diǎn)撓在B-樹上香的最思大層麥次上邀,確損定含屢有N個關(guān)衣鍵字燈的m階B-樹的驢最大冒深度惰,即鹿可判小斷其虧查找再效率盾。在具編有N個關(guān)腥鍵字梁的B-樹上炸進(jìn)行蛛查找牙時,鄉(xiāng)豐從根汁結(jié)點(diǎn)零到關(guān)猴鍵字K所在歪結(jié)點(diǎn)腸的路摩徑涉己及的棗結(jié)點(diǎn)乎數(shù)目津不超棗過:lo香gm/塘2((考N+漆1)明/2劣)+糠1。五、B-樹和B+樹9.挽2動態(tài)躬查找造表4.B-樹的川插入催和刪許除在B-樹上析進(jìn)行憤插入構(gòu)和刪雹除操紡作較慌為復(fù)殺雜,結(jié)要使捐進(jìn)行燈操作通后的殲結(jié)點(diǎn)脹中關(guān)隱鍵字廣個數(shù)N滿足m/擾2-嗚1萍≤郊N敗≤僑m-耗1,將涉冤及結(jié)覺點(diǎn)的分裂與合并。(1掠)B-樹的鵝插入B-樹的安生成優(yōu)也是異從空威樹開滋始,殘逐個維插入檔關(guān)鍵土字而射得。夫由于B-樹中府關(guān)鍵盯字個左數(shù)必浩須≥m/賓2-1到,因此完,每面次插蹄入一隆個關(guān)摔鍵字探不是框在樹掉中添徑加一鹽個葉股子結(jié)紫點(diǎn),純而是祝首先任在最果低層島的某轟個非擋終端五結(jié)點(diǎn)遣中添放加一捎個關(guān)氏鍵字壟,若該腥結(jié)點(diǎn)腿的關(guān)穩(wěn)鍵字憐個數(shù)臥不超華過m-就1,則插黎入完訊成,財(cái)否則項(xiàng)要產(chǎn)梅生結(jié)隊(duì)點(diǎn)的殿“分角裂”。五、B-樹和B+樹9.平2動態(tài)尸查找功表“分你裂”幕的實(shí)宇現(xiàn):假設(shè)常*p結(jié)點(diǎn)抓中已話有m-隱1個關(guān)幅鍵字漆,當(dāng)李插入稈一個及關(guān)鍵疊字之籠后,國結(jié)點(diǎn)治含有靈信息尼為:m,斗A0,(隨K1,A1),心……昨(Km,Am)其中Ki<Ki+11≤賊i<辭m此時草可將舟*p結(jié)點(diǎn)病分裂慢為*p和*p’兩個番結(jié)點(diǎn)桑,以m/押2為分粒裂中蘆心,蜂其前霞一部也分,洋放在*p結(jié)點(diǎn)寫中,運(yùn)后一繡部分你放在*p’結(jié)點(diǎn)惕中。其中褲:*p結(jié)點(diǎn)技中含蓄有信西息為m/擋2-1隆,A筒0,慌(K1,A1),灘……肌(Km/娃2-1,Am/桐2-1)*p嶄’結(jié)點(diǎn)選中含莊有信芒息為m-m/腐2,Am/社2,(葵Km/戶2+1,Am/森2+1),功……釣(Km,Am)而關(guān)噸鍵字Km/躍2和指蟲向*p’的指蜻針一毒起插繩入到押*p的雙張親結(jié)途點(diǎn)中逢。五、B-樹和B+樹9.惕2動態(tài)歲查找劃表(2懶)B-樹的洲刪除若在B-樹上掏刪除援一個單關(guān)鍵射字,炕則首盞先應(yīng)悅找到靜關(guān)鍵頁字所州在結(jié)醉點(diǎn),扣并從修中刪祥除之獄,若悔該結(jié)胞點(diǎn)為敬最下貌層的在非終何端結(jié)納點(diǎn),園且其離中關(guān)鍵迫字?jǐn)?shù)轉(zhuǎn)目不質(zhì)少于m/榆2,則刪戀除完銹成,含否則星要進(jìn)刑行“課合并亮”結(jié)千點(diǎn)的薄操作殊。五、B-樹和B+樹9.脂2動態(tài)助查找禽表刪除濾最下藝層非啄終端飛結(jié)點(diǎn)仙中的健關(guān)鍵臨字情扇況,有下乘列三扎種可星能:被刪暗除關(guān)座鍵字患所在登結(jié)點(diǎn)敲中的毯關(guān)鍵勒字?jǐn)?shù)晃目不述小于m/漸2,則只候需從獵該結(jié)驚點(diǎn)中內(nèi)刪去違該關(guān)蜘鍵字Ki和相為應(yīng)的貢指針Ai計(jì),樹的津其它哭部分宜不變另。被刪姜關(guān)鍵桑字所津在的售結(jié)點(diǎn)扣中的跡關(guān)鍵鳥字?jǐn)?shù)黃目等帽于m/喚2-1坦,而與占該結(jié)此點(diǎn)相剝鄰的賞右兄吩弟(扛或左扮兄弟哥)結(jié)盆點(diǎn)中鵲的關(guān)掙鍵字腳數(shù)目掛大于m/敲2-1鋼,則需膠將其呈兄弟培結(jié)點(diǎn)暈中最斬小(爆或最港大)慮的關(guān)騎鍵字菊上移屬至雙壟親結(jié)義點(diǎn)中畜,而匙將雙喬親結(jié)石點(diǎn)中顆小于牢(或碎大于姨)且什緊靠訊該上維移關(guān)莫鍵字需的關(guān)惡鍵字糧下移掉至被狠刪關(guān)剖鍵字千所在革結(jié)點(diǎn)殼中。被刪凡關(guān)鍵股字所紡在結(jié)霉點(diǎn)和推其相發(fā)鄰的潔兄弟些結(jié)點(diǎn)仇中的眼關(guān)鍵貪字?jǐn)?shù)捆目均預(yù)等于m/患2-1桃。假設(shè)箭該結(jié)登點(diǎn)有演右兄葡弟,偽且其嶼右兄沙弟結(jié)醬點(diǎn)地很址由電雙親進(jìn)結(jié)點(diǎn)捐中的哈指針Ai所指博,則菜刪去撈關(guān)鍵娛字之務(wù)后,巾它所劍在結(jié)方點(diǎn)中勁剩余粉的關(guān)搶鍵字經(jīng)和指遇針,得加上誼雙親千結(jié)點(diǎn)脆中的丹關(guān)鍵急字Ki一起兩,合尖并到Ai所指托兄弟參結(jié)點(diǎn)宜中(賺若沒箭有右副兄弟搖,則券合并寫到左另兄弟宣結(jié)點(diǎn)歷中)變。五、B-樹和B+樹9.泡2動態(tài)享查找唯表一、葬哈希幸法的寒概念二、舅哈希廣函數(shù)撿的構(gòu)掘造方訴法三、便處理卵沖突勸的方梯法四、坡哈希燈表的寺查找專及其墊分析9.然3表哈降希表1.敞哈希援法的碑引入哈希蜓英文芽名稱攝為Ha羨sh綿,散列眠(雜拘湊)置的意勉思。巡壽因此致哈希新表又鼓稱散康列表漏(雜招湊表愿)。用哈賣希表廉是一雖種重壟要的奮存儲美方法很,也古是一鍬種常櫻用的釀查找共方法殺。前撫述的妄查找暗方法都是嗚以關(guān)桌鍵字疤的“比較”為恢基礎(chǔ)養(yǎng)的。鬧查找圈的效易率依棍賴于剪查找救過程亮中所顫進(jìn)行茄比較貼的次狗數(shù)。打查找吐效率膊取決種于結(jié)這點(diǎn)的遞個數(shù)印。理想連的情竭況是袍希望嶄不經(jīng)咳過任王何比滅較,險(xiǎn)一次球存取蹲便能彎得到肅所查置記錄仆,那踏就必碎須在市記錄柴的存坦儲位憲置和旅它的勾關(guān)鍵亮字之化間建江立一旱個確秘定的袋對應(yīng)耕關(guān)系f,使每健個關(guān)枝鍵字淚和結(jié)荷構(gòu)中軍一個役唯一乎的存梳儲位緣瑞置相洋對應(yīng)抹。這塵就是返哈希曾法的膜思想云。查找肺時,膨只需捐對結(jié)降點(diǎn)的膛關(guān)鍵賭字進(jìn)源行某決種運(yùn)突算,阻就能狗直接臣確定埋記錄校在表犬中的值位置蠢。9.戶3超哈坡希表一、蕉哈希舊法的懂概念2.蔬哈繳希函肌數(shù)定顏義將結(jié)恭點(diǎn)的丘關(guān)鍵遣字作弊為自鎖變量ke瞧y,通過繞一個理確定臨的函數(shù)反關(guān)系(關(guān)咬于關(guān)琴鍵字雜的某優(yōu)種運(yùn)命算)f,計(jì)算梢出函們數(shù)值f(伴ke趟y)作為宰該結(jié)孩點(diǎn)的陡存儲有地址碰。這撞個確遇定關(guān)懇系f就是嶼哈希班函數(shù)怠。查找耗時,殼用哈杠希函撈數(shù)確信定地影址取短結(jié)點(diǎn)瓣。如:發(fā)某地拾區(qū)解際放后擔(dān)人口鑒調(diào)查甘表,客關(guān)鍵菊字是擁年份鞏。9.牧3召哈肝希表一、慣哈希剖法的夸概念地址0102……22……58年份19491950……1970……2006人口15361540……2059……4065H(窄ke伏y)梢=k浮ey霉-1久94悲83.萄哈貌希表佳的定拘義用哈靠希函栗數(shù)建花立起裙來的享存儲跌結(jié)構(gòu)府稱為狀哈希勸表。4.鐵散友列地歡址法架(散博列技窩術(shù))用哈遲希函煌數(shù)轉(zhuǎn)件換記鍵錄關(guān)恨鍵字壺得到暑存儲擊地址宇,把僑各記欣錄散息列到德相應(yīng)逼的存串儲單勤元里敬去的映方法嶼,稱嚇為散蹤蝶列地究址法盜或關(guān)翅鍵字晨轉(zhuǎn)換頓法。9.喬3下哈寧希表一、舊哈希低法的峰概念5.冒沖突對不匆同的侍關(guān)鍵琴字可渾能得饅到同溪一哈德希地剛址,彎即ke翻y1ke勉y2,而f(父ke份y1)=汗f(焰ke驅(qū)y2),這種乘現(xiàn)象蠟稱為洽沖突損。如:姥全國自各省狂的人聲口統(tǒng)被計(jì)表唐中,音關(guān)鍵韻字為軌各省載名字沫的漢累語拼蘭音。怖使用蛛不同昌的哈餐希函都數(shù)。H1(k亂ey尸):關(guān)鍵以字中盛第一頓個字炭母在艷字母理表中回的位慈置H2(k山ey萍):關(guān)鍵裹字中慶第一鮮個與琴最后捧一個榆字母迷在字翼母表賞中位尿置的忙和,貌若比仆30旨(表迅長)劈燕大,捆則減珠30塊。9.音3級哈搭希表一、姻哈希均法的尿概念keybeijingtianjinhebeishanxishanghaiH1(key)0220081919H2(key)0904172828具有相同友函數(shù)誼值的關(guān)鍵捉字對該擴(kuò)哈希柿函數(shù)仿來說每稱為同義余詞。6.呼哈希栽法的畢兩個景問題(1們)虛如職何構(gòu)餓造哈由希函剛數(shù)構(gòu)造均哈希詠函數(shù)展也要丸解決狗兩個繞問題慢:哈希賄函數(shù)漢應(yīng)是石一個壓縮鑒映象函數(shù)鳳,它章應(yīng)具條有較拔大的鋪壓縮留性,鑼以節(jié)銹省存監(jiān)儲空極間。頌這樣殿就不攤可避毀免地洞產(chǎn)生據(jù)沖突正。哈希息函數(shù)廟應(yīng)具范有較怒好的散列洞性,盡復(fù)量減囑少沖幣突。(2竊)偷如團(tuán)何解約決沖頂突9.躁3諸哈具希表一、暫哈希祖法的稻概念7.視綜合具描述根據(jù)故設(shè)定停的哈希筋函數(shù)H(逗ke舍y)和處理色沖突的方寒法將畢一組關(guān)鍵降字映浩像到一款個有框限的連續(xù)站地址序集(伯區(qū)間泛)上,并蚊以關(guān)副鍵字微在地溜址集命中的熔“像”作廚為記杠錄在邁表中述的存儲皂位置,這臭種

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論