版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)結(jié)構(gòu)研究什么數(shù)據(jù)處理中數(shù)據(jù)之間的邏輯關(guān)系、數(shù)據(jù)在計(jì)算機(jī)中的存儲方式和在這種“結(jié)構(gòu)”上能進(jìn)行的操作(運(yùn)算)。如何表示數(shù)據(jù),如何存儲數(shù)據(jù),如何對數(shù)據(jù)進(jìn)行處理3種邏輯結(jié)構(gòu)線性結(jié)構(gòu)樹形結(jié)構(gòu)(圖結(jié)構(gòu)線性結(jié)構(gòu)的性質(zhì)和概念性質(zhì):全序性:線性結(jié)構(gòu)的全部結(jié)點(diǎn)兩兩都可以比較前后關(guān)系。單索性:除頭結(jié)點(diǎn)外,每個結(jié)點(diǎn)有唯一的直接前驅(qū)結(jié)點(diǎn);除尾結(jié)點(diǎn)外,每個結(jié)點(diǎn)有唯一的直接后繼結(jié)點(diǎn)。概念:直接前驅(qū)、直接后繼結(jié)點(diǎn):前后相鄰的結(jié)點(diǎn);前驅(qū)、后繼結(jié)點(diǎn):前面、后面的結(jié)點(diǎn)。在不混淆的前提下,直接前驅(qū)和直接后繼可簡稱為前驅(qū)和后繼。樹結(jié)構(gòu)的性質(zhì)和概念性質(zhì)和概念:根結(jié)點(diǎn):“樹的根”,一棵樹只有唯一的一個根結(jié)點(diǎn)。葉子結(jié)點(diǎn):“樹的葉子”,一棵樹有很多葉子。除根結(jié)點(diǎn)外,每個結(jié)點(diǎn)有唯一的父結(jié)點(diǎn);除葉子結(jié)點(diǎn)外,每個結(jié)點(diǎn)允許有多個子結(jié)點(diǎn)。磨父親結(jié)點(diǎn)個,罷子女結(jié)點(diǎn)暗,各兄弟結(jié)點(diǎn)燦,協(xié)祖先結(jié)點(diǎn)爪,原子孫結(jié)點(diǎn)姓。站樹結(jié)構(gòu)是一香棵采“鋸倒立的樹桿”睛。就4種存儲結(jié)閣構(gòu)煉順序結(jié)構(gòu)的翠優(yōu)缺點(diǎn)峰用一塊凡連續(xù)的俯、學(xué)無間隙的慌存儲空間按陣順序存儲各禿結(jié)點(diǎn)。叉各結(jié)點(diǎn)地址渴計(jì)算方法(聾問題1界):塵結(jié)點(diǎn)i的地術(shù)址=起限始地址+女i連×信每個結(jié)點(diǎn)所民占存儲空間鬧大小俗各結(jié)點(diǎn)之間封邏輯關(guān)系表吵示(凈問題2膝):地址相宵鄰關(guān)系就表筑達(dá)了結(jié)點(diǎn)之激間的邏輯關(guān)效系。鎮(zhèn)順序存儲結(jié)爭構(gòu)是在內(nèi)存福中開辟一個劑連續(xù)的空間栽用來存儲數(shù)島據(jù),因此對狹于內(nèi)存的需脂求和苛刻,謀必須是連續(xù)杜的空間.在弊數(shù)據(jù)查找(販特別是不按挺照規(guī)律排列外的數(shù)據(jù)),煉時間復(fù)雜度模教少.效率糾高.動鏈?zhǔn)浇Y(jié)構(gòu)的省優(yōu)缺點(diǎn)驕鏈?zhǔn)酱鎯Y(jié)景構(gòu)是采取連位表指針來指乞示數(shù)據(jù)的存莫儲位置,這液就可以是在蹤內(nèi)存中隨意弊的存儲,沒妖有必須連續(xù)椒儲存空間的鳴要求,對于穴內(nèi)存的要求埋相對教容易使.但是要是子是從小到大睬順序排列的濟(jì)數(shù)據(jù),鏈?zhǔn)酵Υ鎯Y(jié)構(gòu)的神時間復(fù)雜度際教小,效率掏高.但是要茫是不規(guī)則排走布的數(shù)據(jù)一星般時間復(fù)雜尖度較高,效斧率更低桃算法漸進(jìn)復(fù)可雜度的表示碌方法觸算法時間復(fù)房雜度的壞漸進(jìn)分析而:在時間復(fù)喉雜度t(n侄)中,急剔除不會從毛實(shí)質(zhì)上改變霧函數(shù)數(shù)量級考的項(xiàng)見,經(jīng)過這樣厚處理得到的雀函數(shù)是t(成n)的近似租效率值,但錘這個近似值檢與原函數(shù)已虹經(jīng)足夠接近傍,當(dāng)問題規(guī)畢模很大時尤怖其如此。這東種效率的度輔量就稱為剖算法的漸進(jìn)明復(fù)雜度戶。(在不引樸起混淆的情僚況下,也可萬簡稱賤時間復(fù)雜度疊)染算法的最好稿、最壞和平杜均時間復(fù)雜牌度惠算法的復(fù)雜誦度往往取決鉆于輸入數(shù)據(jù)后,例如一個隸排序算法燈的時間復(fù)雜金度往往取決驢于立輸入數(shù)據(jù)的僚原始有序程堡度勝。因此分析勞算法復(fù)雜度號時往往要區(qū)袋分梁最好情況將、縣最壞情況付和碰平均情況風(fēng)。判例如,在一艱個包含n個殼元素的數(shù)組釘中查找某個謊數(shù)據(jù)(憐假定該數(shù)據(jù)顏是數(shù)組元素筍):閣最好情況尸:該數(shù)據(jù)就拳是第0個元翠素,只需比蒜較1次就可縫以結(jié)束了,斃其復(fù)雜度為羊O(1)。檢最壞情況剃:該數(shù)據(jù)是效數(shù)組最后一長個元素,則揀需要比較n笨次,其復(fù)雜污度為O(n新)。首評均情況賓:假設(shè)需要制查找的數(shù)據(jù)袍是第0個元伏素、第1個古元素、纏…截、最后一個今元素的概率景相等,則平?jīng)]均需要查找姜的次數(shù)為:低1鉤×娛1/n+濫2駝×惜1/n+怖徒…浙+n覽×杜1/n=尊(n+1艇)/2。其雪復(fù)雜度為O擠(n)。腿基本的算法凝復(fù)雜度類型珍線性表、順贊序表、鏈表淡、棧和隊(duì)列勞的基本概念傾線性表是一烈類盯線性車(區(qū)別于安樹型結(jié)構(gòu)鍬和泄圖結(jié)構(gòu)登)數(shù)據(jù)結(jié)構(gòu)邊,它有多種擾存儲結(jié)構(gòu)和尋應(yīng)用方法,挑從而可以細(xì)灶分為慧順序表甜、文鏈表眠、鄭隊(duì)列娃、純棧悠等。略“衣線性表影”砌是從棟邏輯結(jié)構(gòu)土的角度來描羊述數(shù)據(jù)結(jié)構(gòu)館的,它主要展有兩種存儲譜結(jié)構(gòu):載順序存儲結(jié)砌構(gòu)舌和宮鏈?zhǔn)酱鎯Y(jié)依構(gòu)逼??柬樞虮淼?sequ別entia胡llis艘t)又稱為艙向量徐(vect毅or),它范采用定長的漁一維數(shù)組存基儲結(jié)構(gòu)圾。如向量的虛主要特性憶:焦元素的類型采相同很。濤元素順序地禍存儲在一塊軍有連續(xù)地址伶的存儲空間險中,每一個刪元素按其順?biāo)研蛴形ㄒ坏捻懰饕?,又夸稱噸下標(biāo)值夕,用它可以敲方便地訪問敲元素內(nèi)容。熱STL提供慘了華3種通用實(shí)浙體伶:段容器刺、撲迭代器攻和劫算法解。營鏈表給(位linke院d路梯list困)的特點(diǎn)是云動態(tài)申請內(nèi)拳存空間龍,并通過指順針來鏈接結(jié)避點(diǎn),按照線匹性表的債前驅(qū)/后繼御關(guān)系屠把一個個結(jié)壞點(diǎn)鏈接起來盛。摟幾種用于線嶺性表的鏈?zhǔn)奖鎯Y(jié)構(gòu):單鏈表;雙鏈表;暈循環(huán)單鏈表聾;糧循環(huán)雙鏈表愿。漲鏈表存儲是槽最常用的存欲儲方式之一蜘,它神不僅可以用貫來表示線性產(chǎn)表博,舟而且也可以托用于其他非億線性的數(shù)據(jù)勤結(jié)構(gòu)中漿,如樹結(jié)構(gòu)愧和圖結(jié)構(gòu)。朋棧(仙stack蹤)是一種襲限制訪問端杏口硬的線性表,字常稱為疫后進(jìn)先出表衡(雷LIFO與-Last域In,營First畝Out)聞。若棧的一端稱傭?yàn)楣Α案鏃m斚仭憋h,鉤表元素的插場入和刪除均享限制在棧頂葛;表的另一鍬端成為溉“特棧底于”帽。目表元素的插叨入退,成為午壓棧特(濃push脂)。古表元素的刪指除擔(dān),稱為遭出棧鳳(致pop刃)。估隊(duì)列(璃queue秩)也屬于類限制訪問端夠口紀(jì)的線性表。肉數(shù)據(jù)進(jìn)入/芝取出的方式蜂為支先進(jìn)先出表躲(FIFO奉-Firs祖tIn,貍Firs敞tOut球),因此隊(duì)違列也稱為錄先進(jìn)先出表欺。遲只允許從室隊(duì)列尾愿(仗rear梅)優(yōu)進(jìn)入數(shù)據(jù)幕。蕉只允許從柱隊(duì)列頭口(棉front義)激取出數(shù)據(jù)船。爛順序表的抽銅象數(shù)據(jù)類型計(jì):插入元素棉//插入一胸個元素,使島之成為第i撿ndex個岔元素建templ伍ate<株class煩ELEM責(zé)>沉void范Vecto甲r<ELE撇M>::i格nsert允(con千stEL型EM&i節(jié)tem,懷inti盟ndex辣){秀防asser香t(Si樂ze<Le慶ngth誕);a馬ssert匯(ind層ex>=0統(tǒng)&&i縫ndex<適=Size死);緞釣for(寺inti繩=Size敘;i>i分ndex;裙i--滅)翁高//移動元手素貍吐敗elmli凈st[i]魔=el轟mlist凳[i-1]菊;坑偏elmli植st[in掛dex]辯=ite收m;艷語Size+已+;}惰順序表的抽助象數(shù)據(jù)類型望:刪除元素使templ育ate<筑class們ELEM金>屠void昆Vecto督r<ELE孔M>::r場emove也(int迷inde裝x)少扒//刪除第獅index織個元素{曉言asser干t(in蒸dex>=櫻0&&筑index井<Size王);蚊皆for(總inti路=inde元x;i<察Size-鬼1;i+就+)搏障//移動元填素委監(jiān)業(yè)elmli塌st[i]膛=el途mlist撐[i+1]再;浸詳Size-蕩-;}叔順序表的優(yōu)容缺點(diǎn)優(yōu)點(diǎn):疫直接存儲元舅素參,每個元素敏不需要存儲竊指針等其他硬信息寬。來直接訪問元燙素,叛訪問第k個瘡元素的時間蛙為O(1)渾,與n無關(guān)仗。缺點(diǎn):礎(chǔ)插入新元素慮需要移動大邁量的元素盾,復(fù)雜度為簽O(n)灑。鎮(zhèn)刪除元素也訂需要移動大京量的元素毯,復(fù)雜度為報O(n)含。呆順序表的孫缺點(diǎn)之一齊:禽插入新元素胳時需要移動伴大量的元素暖??嬖O(shè)順序表的讓長度為吊n烈,在各個位狠置插入的概撞率相等,則涼插入算法平挖均需要移動妨n/2郊個元素。其梨復(fù)雜度為會O(n)追。序順序表的蕉缺點(diǎn)之二罰:巧刪除元素時惰需要移動大陣量的元素。經(jīng)刪除算法的叮復(fù)雜度也為術(shù)O(n)孔。嗎單鏈表的理膨解柿在單鏈表中秀,廣每個結(jié)點(diǎn)由豎兩部分組成賓:辛存放結(jié)點(diǎn)數(shù)拆據(jù)的倍data域梨;陽存放指向后鋼繼結(jié)點(diǎn)的集next指左針域丟。陽因?yàn)閮?nèi)每個結(jié)點(diǎn)中維只有指向后筆繼結(jié)點(diǎn)的指泛針容,因此由這狼種結(jié)點(diǎn)鏈接屠而成的鏈表旁,稱為影單鏈表萍。鹿表首指針f毫irst建:指向單鏈旨表中第0個死結(jié)點(diǎn)(煌結(jié)點(diǎn)序號從鄙0開始計(jì)起吐)。脆單鏈表的抽籃象數(shù)據(jù)類型畜:釋放所有吵結(jié)點(diǎn)置單鏈表的抽文象數(shù)據(jù)類型蘿:插入結(jié)點(diǎn)優(yōu)單鏈表的抽棍象數(shù)據(jù)類型送:刪除結(jié)點(diǎn)堪單鏈表的優(yōu)幣缺點(diǎn)嚼雙鏈表的理吵解垃雙鏈表的抽姑象數(shù)據(jù)類型半:插入結(jié)點(diǎn)速(簡單情形寇)距雙鏈表的抽兇象數(shù)據(jù)類型獻(xiàn):刪除結(jié)點(diǎn)責(zé)(簡單情形幅)棧的理解隊(duì)STL中的籃棧燈棧的應(yīng)用1銜:十進(jìn)制整竄數(shù)轉(zhuǎn)換成二武進(jìn)制毫棧的應(yīng)用2訓(xùn):括號匹配電順序棧的理枕解籠順序棧的抽院象數(shù)據(jù)類型殲:壓棧晨順序棧的抽醋象數(shù)據(jù)類型坡:出棧柄順序棧的抽追象數(shù)據(jù)類型灰:取出棧頂寇結(jié)點(diǎn)聰順序棧的抽肝象數(shù)據(jù)類型偷:判空吉鏈?zhǔn)綏5睦淼踅饩滏準(zhǔn)綏5某樘韵髷?shù)據(jù)類型日:釋放所有駁結(jié)點(diǎn)脹鏈?zhǔn)綏5某樵兿髷?shù)據(jù)類型鮮:壓棧澇鏈?zhǔn)綏5某猷徬髷?shù)據(jù)類型監(jiān):出棧賭鏈?zhǔn)綏5某槊髷?shù)據(jù)類型旋:取出棧頂貍結(jié)點(diǎn)綱鏈?zhǔn)綏5某闉跸髷?shù)據(jù)類型眠:判空行順序棧和鏈限式棧的比較映計(jì)算表達(dá)式欺的值:中綴睡表達(dá)式奸→蛋后綴表達(dá)式交(不要求記風(fēng)憶算法執(zhí)行俯過程)晚計(jì)算表達(dá)式螺的值:計(jì)算辱后綴表達(dá)式固的值隊(duì)列的理解全STL中的尼隊(duì)列豈隊(duì)列的應(yīng)用治:BFS的偷實(shí)現(xiàn)準(zhǔn)順序隊(duì)列的岸理解攝順序隊(duì)列的賓抽象數(shù)據(jù)類泡型:入隊(duì)列通順序隊(duì)列的拼抽象數(shù)據(jù)類暴型:出隊(duì)列直順序隊(duì)列的梨抽象數(shù)據(jù)類熟型:取出隊(duì)拖列頭結(jié)點(diǎn)淺鏈?zhǔn)疥?duì)列的慎理解植鏈?zhǔn)疥?duì)列的裙抽象數(shù)據(jù)類泳型:入隊(duì)列型鏈?zhǔn)疥?duì)列的顆抽象數(shù)據(jù)類周型:出隊(duì)列罪鏈?zhǔn)疥?duì)列的昨抽象數(shù)據(jù)類腸型:取出隊(duì)估列頭結(jié)點(diǎn)千順序隊(duì)列和犬鏈?zhǔn)疥?duì)列的堅(jiān)比較慧第3章字棄符串律編號飛陶知識點(diǎn)著挪類型兔揀掌握程度起姿代碼要求藥3_01粥析字符串的模浮式匹配先包概念孤呆理解群竟字符串的?;\式匹配南:給定嫩目標(biāo)字符串夜T(Tar店get)蛛和一個猛模板P(P向atter撐n)魯,也是字符建串,在煉目標(biāo)字符串傷T中查找與們模板完全相觸同的子串蹄,返回T中踐和P匹配的葛第一個子串撥(簡稱為槐配串壺)的首字符燈位置。京3_02竊御樸素的模式矛匹配算法休么算法??日莆赵頉r猴代碼段敞第0趟開始諷比較。在第叮0趟,將模睜板P的第0禽個字符對準(zhǔn)埋T的第0卸個字符,將貿(mào)兩字符串對緊應(yīng)位置上的架字符一一比宗較,如果匹疫配成尚功則結(jié)束,稈否則(即匹伯配失敗)將診P右移一個申位置進(jìn)入第史1趟比較,手…富。第s趟比點(diǎn)較是從T的于第s個字符譽(yù)和P的第0賽個字符開始伸比較。箭反復(fù)進(jìn)行每吉一趟的比較啟,直到出現(xiàn)風(fēng)以下情況:要執(zhí)行到某一擴(kuò)趟,模板所別有字符與目廳標(biāo)串中對應(yīng)鞠的字符都相畫等,餐匹配成功廊。聲模式移動到糾最后可能與滿T比較的位類置照,但還不能蚊匹配,則鉆匹配失敗燒。捏3_03矩哭KMP算法繪:模式串前綢綴函數(shù)值的確人工求解慣徑算法單迅掌握原理析待3_04雜艦KMP算法舒:模式串前榮綴函數(shù)值的盲推導(dǎo)促塵算法斤榆掌握原理尚筍3_05些立KMP算法質(zhì):模式串前打綴函數(shù)值的涌求解液售算法蛙旨掌握原理善認(rèn)代碼段洋3_06爸敬KMP算法撫:實(shí)現(xiàn)趣扶算法粒腿掌握原理搬虛代碼段喜第4章二堵叉樹勾編號秒占知識點(diǎn)右趴類型汁耐掌握程度圓桌代碼要求慎4_01衛(wèi)功樹與子樹飄弄概念捆成理解港悟4_02錢汽二叉樹的定棗義郵士概念覽加理解濃觀4_03炒嗎二叉樹的基疤本概念考飾概念怕照理解助耗4_04墓藝滿二叉樹阻配概念姥辛理解孕跨4_05尋蛾完全二叉樹估活概念擔(dān)敏理解霧倆4_06亦伴擴(kuò)充二叉樹非超概念扶屆理解屬醋4_07慚賠擴(kuò)充二叉樹屈的外部路徑值長度和內(nèi)部崖路徑長度悅且計(jì)算媽羨掌握方法焦振4_08盼掉擴(kuò)充二叉樹尖的性質(zhì)指銳性質(zhì)撤軟理解鹿?jié){4_09滴冊二叉樹性質(zhì)言1(滿二叉亭樹定理)投嚼性質(zhì)鞠擴(kuò)理解溝包4_10伏福二叉樹性質(zhì)朝2(滿二叉臘樹定理推論星)揪尺性質(zhì)半魂理解攝款4_11透塑二叉樹性質(zhì)迷3柏穩(wěn)性質(zhì)胞獵理解新藍(lán)4_12纖謙二叉樹性質(zhì)械4戒鉛性質(zhì)輩被理解艙牢4_13逢主二叉樹性質(zhì)塑5企罰性質(zhì)疤經(jīng)理解塵變4_14飼點(diǎn)二叉樹性質(zhì)奉6葛帖性質(zhì)倦直理解冰燈4_15個旨二叉樹的二響叉鏈表實(shí)現(xiàn)爬燥原理騎可掌握趴然4_16猾乘二叉樹的二繪叉鏈表實(shí)現(xiàn)泡:從二叉樹蓮根結(jié)點(diǎn)出發(fā)盒,查找指定綿結(jié)點(diǎn)的父結(jié)裳點(diǎn)俱膠算法北登掌握原理秋以代碼段在4_17牧尿二叉樹的二筋叉鏈表實(shí)現(xiàn)劃:返回指定界結(jié)點(diǎn)左兄弟微你算法當(dāng)棄掌握原理您求代碼段虛4_18包括二叉樹的二夾叉鏈表實(shí)現(xiàn)片:返回指定崇結(jié)點(diǎn)右兄弟伐紡算法手憶掌握原理則匆代碼段好4_19悅謎二叉樹的二精叉鏈表實(shí)現(xiàn)噸:刪除二叉賴樹的遞歸算渣法戴愈算法配弓掌握原理政工代碼段骨4_20住散二叉樹的遍瓦歷具框概念社深理解友輩4_21探棵二叉樹的前源序(中序、鄭后序)遍歷匆宮算法冤造掌握原理腔傷4_22毀俊前序(中序輕、后序)遍道歷的遞歸實(shí)吩現(xiàn)像盟算法循貞掌握原理蓮倡代碼段拘4_23泳棵前序遍歷的柏非遞歸實(shí)現(xiàn)宗治算法閑慌掌握原理廟府代碼段細(xì)4_24催轉(zhuǎn)三叉鏈表愿炎原理借將掌握項(xiàng)錄4_25穩(wěn)催完全二叉樹俯的數(shù)組實(shí)現(xiàn)長德性質(zhì)串研理解膝晨4_26刪走二叉鏈表及案線索二叉鏈曉表性質(zhì)嬸納性質(zhì)羽漢理解械紅4_27航畢前序(中序社或后序)線舍索二叉樹灘攔原理咳辮掌握原理篩細(xì)4_28截弦二叉搜索樹津:定義岡凳概念濱遵理解覽理4_29之形給定關(guān)鍵碼理序列,構(gòu)造琴二叉搜索樹攀骨算法店赤掌握原理昌態(tài)4_30灰嘩二叉搜索樹挺:插入結(jié)點(diǎn)石旅算法益宅掌握原理霉蔑代碼段島4_31體羽二叉搜索樹彩:刪除結(jié)點(diǎn)橡得算法低雖掌握原理淋檔代碼段絡(luò)4_32缸侵二叉搜索樹視:查找結(jié)點(diǎn)鐘榜算法森驚掌握原理色抖代碼段輸4_33估拍STL優(yōu)先冷級隊(duì)列吩唯應(yīng)用咸棄掌握方法旨扭完整程序斑4_34百竟最小(大)積堆定義登蠶概念溝計(jì)理解破沾4_35歡粘堆的創(chuàng)建-相篩選法蓋鞋算法貴手掌握原理仇歪4_36泳托堆的操作:哲插入結(jié)點(diǎn)覆賽算法浴傳掌握原理貓行4_37排肥堆的操作:騾刪除結(jié)點(diǎn)沫展算法是眉掌握原理叉按4_38旋弟前綴編碼懼阿概念瘦關(guān)理解催唇4_39愚分加權(quán)平均編慰碼長度寸宮概念扭液理解閣究4_40真做Huffm剛an樹加權(quán)封外部路徑長拾度銀刊概念浙壩理解立眨4_41刃攝構(gòu)造Huf宋fman樹尺給算法測皺掌握原理季刮編號泄降知識點(diǎn)烏5_01語歡森林的概念篩森林踐(fore承st):晉由零棵或多己棵不相交的磁樹組成的集江合佩。歷注意:幼自然界中的圈樹和森林是炭不同的概念容。而數(shù)據(jù)結(jié)找構(gòu)中的樹和遙森領(lǐng)占只有微小的墊差別匙,切刪去根結(jié)點(diǎn)網(wǎng),則樹就變竿成森林蓋;名加上一個結(jié)蘭點(diǎn)作為根,屯則森林就變旬成樹遍。蘿在儲樹或森林與埋二叉樹之間碰存在一個自于然的、一一虛對應(yīng)的關(guān)系杠。任何樹或吼森林都唯一甘地對應(yīng)到一賓棵二叉樹;瘡反過來,任揮何二叉樹也疏都唯一地對梅應(yīng)到一棵樹偽或一個森林閘。繡5_02宇支一般樹轉(zhuǎn)換肥成二叉樹扇把一般樹轉(zhuǎn)侄換成二叉樹卵,可分為籃3個步驟床:陸連線奏:在差所有兄相鄰仰的弟結(jié)點(diǎn)之傷間加一條連皆線彈??h切線懇:對樹中的貿(mào)每個結(jié)點(diǎn),桐只保留他與檔第一個子女拌結(jié)點(diǎn)之間的團(tuán)連線,遞刪除它與其郊它子女結(jié)點(diǎn)府之間的連線厚。蘿旋轉(zhuǎn)決:以樹及子頂樹的根結(jié)點(diǎn)遙為軸心,刷將所有水平悼方向的連線垮順時針旋轉(zhuǎn)閣一定角度柳,使之結(jié)構(gòu)卵層次分明。帝(也就是所可有水平方向很連線中右邊恥的結(jié)點(diǎn)作為堂左邊結(jié)點(diǎn)的若右子女結(jié)點(diǎn)弊)脫5_03殿信森林轉(zhuǎn)換成勻二叉樹名把森林轉(zhuǎn)換削成二叉樹,濃可分為盲3個步驟噴:吩連線資:在每棵樹仗的篇所有兄弟結(jié)齊點(diǎn)之間加一篇條連線僅,并腎將每棵樹的麻根結(jié)點(diǎn)用水鉗平線連接向(與將一般峰樹轉(zhuǎn)換成二擋叉樹相比,書這是唯一增冠加的操作)兆。丸切線濁:對樹中的觸每個結(jié)點(diǎn),嚇只保留他與魯?shù)谝粋€子女績結(jié)點(diǎn)之間的嘴連線,粉刪除它與其元它子女結(jié)點(diǎn)落之間的連線籃。庫旋轉(zhuǎn)渾:以樹及子黃樹的根結(jié)點(diǎn)尖為軸心,迎將所有水平酷方向的連線己順時針旋轉(zhuǎn)壞一定角度邀,使之結(jié)構(gòu)粱層次分明。若(也就是所禮有水平方向向連線中右邊敲的結(jié)點(diǎn)作為揚(yáng)左邊結(jié)點(diǎn)的將右子女結(jié)點(diǎn)款)沸5_04失獄二叉樹還原搶為一般樹蝕把二叉樹還倒原成一般樹儲,可分為界3個步驟近:逢連線可:如果某結(jié)喊點(diǎn)N是其父民結(jié)點(diǎn)的芬左子女結(jié)點(diǎn)抓,則遍將該結(jié)點(diǎn)的朱右子女及沿厲著其右指針晝不斷搜索到榜的右子孫偷,都分別與沿結(jié)點(diǎn)N的父婦結(jié)點(diǎn)用虛線魯連接。管切線祖:志去掉原二叉判樹中每個結(jié)盾點(diǎn)與其右子滲女結(jié)點(diǎn)之間蒸的連線稿,僅保留與毛左子女結(jié)點(diǎn)案之間的連線池。妨整理毛:把虛線改俘為實(shí)線,晃按層次整理拾好所。再5_05忘浙二叉樹還原紐為森林強(qiáng)把二叉樹還耍原成森林,評可分為兵2個步驟科:彈切線勤:先從根結(jié)項(xiàng)點(diǎn)出發(fā)沿著暈其右指針不塊斷遍歷到的標(biāo)所有右子孫城,詳將每個右子會孫結(jié)點(diǎn)N與紗N的父結(jié)點(diǎn)眨的連線去掉尾,得到分離扣的二叉樹。刺還原險:翁把分離后的爺每棵二叉樹糠還原為一般各樹燈。所有的這蔑些一般樹就拍組成了森林堪。淋5_06法萍樹的動態(tài)鬼“確左子結(jié)點(diǎn)/曲右兄弟結(jié)點(diǎn)景”顆二叉鏈表表齊示稀5_07歡爹樹的先根、己后根次序遍段歷朋與二叉樹的良深度優(yōu)先遍囑歷有3種次栽序不同的是抓:樹的深度初優(yōu)先遍歷只附有史先根次序紗和走后根次序稼,簽不方便按照怒中序法定義挪中根次序黨,因?yàn)橐粋€滿根結(jié)點(diǎn)有多依于兩個子結(jié)繁點(diǎn)時無法明慢確給出根結(jié)劍點(diǎn)和這些子欣結(jié)點(diǎn)的次序聚。洪先根次序遍霉歷酒的迎遞歸定義稈為:檢訪問根結(jié)點(diǎn)異;軌按先根次序剪遍歷第一棵岸子樹;腸按先根次序匯遍歷其他子幼樹。壯后根次序遍效歷勞的哪遞歸定義噴為:哄按先根次序莫遍歷第一棵挺子樹;伯訪問根結(jié)點(diǎn)呈;乳按先根次序沃遍歷其他子蠻樹。里(丑注意理解踐“好后根封”頂)謝按先根次序深遍歷樹,等篩價于按先序叨遍歷對應(yīng)的灘二叉樹堂;屢按后根次序中遍歷樹,等沒價于按杠中序乞遍歷對應(yīng)的迷二叉樹跡。即:將樹的先根次飾序遍歷壺ó打?qū)?yīng)二叉樹御的先序遍歷溝(毛ó民表等價)魯樹的后根次義序遍歷亞ó蔽對應(yīng)二叉樹銀的中序遍歷每5_08暖吊樹的廣度優(yōu)袍先遍歷渠廣度優(yōu)先遍校歷也稱為寬暖度優(yōu)先遍歷葉,或凳層次遍歷價。姐廣度優(yōu)先腫遍歷過程桑為:首先依粘次訪問層次若為0的結(jié)點(diǎn)罷;然后依次蜜訪問層次為帳1的結(jié)點(diǎn),廚等等。態(tài)5_09壯壁樹的子結(jié)點(diǎn)饒表表示法襪子結(jié)點(diǎn)(鏈墳)表表示法頁包含以下倚兩部分日:姜用數(shù)組存儲額每個結(jié)點(diǎn)袍,每個結(jié)點(diǎn)督包含3個域鍛:拳結(jié)點(diǎn)值闊、副父結(jié)點(diǎn)編號物、厚子結(jié)點(diǎn)鏈表折表頭指針錫-租順序存儲方鑄式象。喘將每個結(jié)點(diǎn)矩的窩子結(jié)點(diǎn)按從俘左到右的順聾序連接成一首個單鏈表內(nèi),并期用它的表頭雙指針域指向融這個鏈表圾-匪鏈?zhǔn)酱鎯Ψ椒阶C。蟲優(yōu)點(diǎn)怪:盤訪問每個結(jié)廳點(diǎn)的所有子疲結(jié)點(diǎn)很方便割。麗缺點(diǎn)蝦:貝訪問每個結(jié)辟點(diǎn)的兄弟結(jié)壓點(diǎn)很難實(shí)現(xiàn)辜。烏其他操作討濤論:插入結(jié)門點(diǎn)、刪除結(jié)隙點(diǎn)、創(chuàng)建樹勇、刪除樹、歪按各種方式屯遍歷、合并摧兩棵樹等等逢。男5_10及風(fēng)樹的父指針洗表示法吊實(shí)現(xiàn)樹的最煌簡單方法是口對每個結(jié)點(diǎn)辮只保存一個數(shù)指針域pa遣rent健,指向其父符結(jié)點(diǎn),這種充實(shí)現(xiàn)方法稱兄為提父指針表示醋法喚。丈父指針表示樓法駕在實(shí)現(xiàn)樹的章操作方面沒瓶有任何優(yōu)勢澆,但是它殊可以實(shí)現(xiàn)一華種特殊的數(shù)渠據(jù)結(jié)構(gòu)-并脾查集吼。痛5_11浩師等價關(guān)系及巧等價類藝“蜻同班同學(xué)章”固、塘“坦同屬于一個悉集合分”丸、設(shè)“程森林中兩個昨頂點(diǎn)屬于同己一棵樹栗”妖都是惕等價關(guān)系割。獨(dú)等價關(guān)系圖(equi度valen慢trel躲ation障)的宅三個條件頓(或稱為泳性質(zhì)統(tǒng)):圣自反性湊:如X膠≡城X,則X展≡鍵X;(假設(shè)誠用堆“嚇X手≡掌Y刊”長表示習(xí)“琴X與Y等價丘”各)察對稱性菊:如X迫≡雁Y,則Y找≡零X;圖傳遞性獻(xiàn):如X膏≡病Y,且Y尺≡湊Z,則X追≡辨Z。掏如果X區(qū)≡困Y,則稱X頭與Y是一個座等價對德(equi燭valen可ce)。夏5_12拖幻并查集的概亂念及作用名判定兩個頂綁點(diǎn)是否屬于竹同一個等價望類(或集合堵,或同一棵鉆樹)來。百將兩個等價恐類(或兩個阻集合,或兩術(shù)棵樹)合并摟。晚一個等價關(guān)極系R歐將集合A劃抹分成為若干悶個子集合寧,喬這些子集合上互不相交勁,且將這些子集合棍的并集就是吊A罵。四5_13哪迷并查集的三賭個重要運(yùn)算供查找(Fi虛nd)市:認(rèn)查找一個元彩素屬于哪個蝶集合羊。塔判斷評:失判斷兩個元隆素是否屬于旦同一個集合粱。往往包含警在合并運(yùn)算番中。狠合并(Un厚ion)踏:遷合并兩個集尊合厲。嗽5_14勁壩用父指針表嫌示法實(shí)現(xiàn)并員查集的思路欣和方法逝要豐判別每個結(jié)載點(diǎn)屬于哪棵烘樹跨,只需要任記錄每個結(jié)蓮點(diǎn)的父結(jié)點(diǎn)天編號導(dǎo)(不需要記妻錄每個結(jié)點(diǎn)卡的其他信息半,比如左子玩女、右兄弟營等)。澤對于每棵樹墊的根結(jié)點(diǎn)徑,由于它沒占有父結(jié)點(diǎn),瑞則可以用它妻所在的樹中催結(jié)點(diǎn)數(shù)目代接替它的父結(jié)萌點(diǎn)編號互(并齒取負(fù)值屯,假定結(jié)點(diǎn)挖的編號沒有傭負(fù)值)。狡定義期paren密t[n]坊數(shù)組,pa詢rent[淚i]中存放券的就是扔結(jié)點(diǎn)i所在乏的樹中結(jié)點(diǎn)眉i父親結(jié)點(diǎn)箱的序號僑。例如,如尼果pare落nt[4]晴=5,窩就是說4號儲結(jié)點(diǎn)的父親略是5號結(jié)點(diǎn)鏈。歷約定:如果眉結(jié)點(diǎn)i的父些結(jié)點(diǎn)(即揀paren局t[i]襪)是校負(fù)數(shù)束的話,表示比結(jié)點(diǎn)i就是疾它所在樹的電根結(jié)點(diǎn)出;并且談用負(fù)的絕對研值作為這棵常樹中所含結(jié)遷點(diǎn)個數(shù)沙。例如,如掩果pare濾nt[7]出=-4雷,說明7號尊結(jié)點(diǎn)就是它團(tuán)所在樹的根示結(jié)點(diǎn),這棵傍樹有4個結(jié)烏點(diǎn)。敢初始時懂,丑所有結(jié)點(diǎn)的睬paren托t[]值演為-1延,說明每個透結(jié)點(diǎn)自成一晴棵樹,且都庫是根結(jié)點(diǎn)。悼對讀入的每強(qiáng)個等價對X宅≡跡Y,先宅判定葵結(jié)點(diǎn)X和Y拉是否屬于同快一個集合,廢如果是,則桃不管;如果嫂不是,則鋤合并付結(jié)點(diǎn)X和結(jié)始點(diǎn)Y所在的罪集合。(并排查集的3種顛運(yùn)算的實(shí)現(xiàn)穗在駱例3剪中討論)攏5_15翅喘并查集:查轎找運(yùn)算及優(yōu)圈化方案的實(shí)俘現(xiàn)炎5_16糞止并查集:合轟并運(yùn)算及優(yōu)帝化方案的實(shí)灶現(xiàn)畫5_17果盛并查集應(yīng)用斤第6章圖北結(jié)構(gòu)錯編號拴匙知識點(diǎn)扁蘆類型睬棕掌握程度慎位代碼要求禿6_01拋擾圖的基本概堆念喚慚概念征憂理解盾費(fèi)圖陷是由痛頂點(diǎn)集合北和頂點(diǎn)間關(guān)楚系集合(即鞠邊的集合雨或肉弧的集合劑)組成的數(shù)斬?fù)?jù)結(jié)構(gòu),通啊常可以用陷G阻(撈V闖,住E掠)來表示,煮其頂點(diǎn)集合鐘和邊的集合膛分別用字V恢(罩G蒜)和訊E縱(冬G品)表示。許V吊(參G慮)中的元素光稱為顫頂點(diǎn)篩,用蛇u昂、腥v舟等符號表示腸;頂點(diǎn)個數(shù)路稱為圖的以階沙,通常用亂n蟲表示。瞇E鞠(旗G副)中的元素決稱為女邊摟,用剪e嫌等符號表示頓;邊的個數(shù)敗稱為圖的爸邊數(shù)汗,通常用糊m友表示。練頂點(diǎn)的棄度(deg燭ree)醒:現(xiàn)一個頂點(diǎn)的舊度是與它相胳關(guān)聯(lián)的邊的館條數(shù)熟,記作條deg答(姐u礦)羽配在有向圖中穗,頂點(diǎn)的度壽等于該頂點(diǎn)匹的出度與入互度之和。其揮中,頂點(diǎn)召u夾的出度是以長u懼為起始頂點(diǎn)叮的有向邊(警即從頂點(diǎn)臨u黃出發(fā)的有向呀邊)的數(shù)目送,記作甩od紀(jì)(店u椅);頂點(diǎn)u摧的入度是以輸u婆為終點(diǎn)的有憑向邊(即進(jìn)溝入到頂點(diǎn)斃u陪的有向邊)滋的數(shù)目,記折作贏id督(碼u當(dāng))。頂點(diǎn)綢u晃的度數(shù):蕉deg寺(低u回)=良o(jì)d撇(附u吃)+減id齡(鴉u戲)。辦即在無向圖蝕和有向圖中結(jié),所有頂點(diǎn)舒的度的總和魚,等于邊的顏數(shù)目的兩倍挎。這是因?yàn)槌?,不管是有序向圖還是無嬸向圖,在統(tǒng)合計(jì)所有頂點(diǎn)兵的度的總和統(tǒng)時,芽每條邊都統(tǒng)盤計(jì)了兩次歸。夢生成樹行:一個無向諷連通圖的生縫成樹是它的驗(yàn)包含所有頂?shù)酎c(diǎn)的極小連巴通子圖詞,這里所謂傷的極小就是糖邊的數(shù)目極摧小。如果圖距中有隨n饑個頂點(diǎn),則必生成樹有繡n忽-1條邊。毯在圖緣G攝(藝V那,灶E暮)中,若從怖頂點(diǎn)棉vi聾出發(fā),沿著餃一些邊經(jīng)過磁一些頂點(diǎn)凈vp策1,檢vp犯2,奶…伍,陣vpm將,到達(dá)頂點(diǎn)厭vj陪,則稱頂點(diǎn)么序列(您vi小,就vp觸1,省vp脹2,堵…品,帆vpm霞,屠vj扶)為從頂點(diǎn)際vi倡到頂點(diǎn)路vj浪的一條劍路徑弱,其中(順vi檢,蜓vp郵1),(喂vp哨1,北vp記2),稻…卷,(圍vpm稀,佳vj論)為圖鄉(xiāng)G先中的邊。如盼果滾G緣是有向圖,暫則<速vi墻,咽vp俘1>,<騎vp停1,干vp遙2>,鋪…引,<餃vpm炕,乞vj鼠>為圖中的勢有向邊。假路徑的長度款:路徑中邊賓的數(shù)目通常貧稱為路徑的奏長度。怒權(quán)值嘴:某些圖的意邊具有與它葵相關(guān)的數(shù),衰稱為正權(quán)值典。這些權(quán)值底可以表示鉗從一個頂點(diǎn)施到另一個頂斑點(diǎn)的距離修、紗花費(fèi)的代價傳、購所需的時間井等。確如果一個圖迷,其所有邊最都具有權(quán)值斯,關(guān)則稱為疾網(wǎng)絡(luò)捆。隆根據(jù)網(wǎng)絡(luò)中公的邊是否具綠有方向性,撇又可以分為螺有向網(wǎng)掃和息無向網(wǎng)脂。網(wǎng)絡(luò)可以心用美G兔(飾V洽,再E桶)表示,其賴中邊的集合價E中每個元碗素包含3個糕分量:邊的留兩個頂點(diǎn)和鉆權(quán)值。廳6_02揀北圖的鄰接矩治陣助苦概念作梯理解贈調(diào)在鄰接矩陣偉中,除了一拿個記錄各個悅頂點(diǎn)信息的策頂點(diǎn)數(shù)組外師,還有一個挽表示各頂點(diǎn)由之間關(guān)系的黨矩陣,稱為饞鄰接矩陣?yán)U。兼6_03蜜庸圖的鄰接表趁實(shí)現(xiàn)晝?nèi)滤惴▊蓪幷莆赵頂囄宕a段筐鄰接表候:荒把同一個頂酷點(diǎn)發(fā)出的邊津鏈接在同一停個稱為邊鏈歉表的單鏈表狼中遇。(這種鄰籮接表也稱為壓出邊表輸)判逆鄰接表擇:也稱為縱入邊表罵,頂點(diǎn)i的六邊鏈表中鏈餐接的是所有穩(wěn)進(jìn)入該頂點(diǎn)艷的邊。適合泡求頂點(diǎn)的入胞度。械以有向圖為皮例介紹鄰接往表的實(shí)現(xiàn)方依法。為了方刺便求解頂點(diǎn)羞的出度和入萍度,在實(shí)現(xiàn)英時,毀把出邊表和礎(chǔ)入邊表同時戲包含在表示減頂點(diǎn)的結(jié)構(gòu)往體中鉗。晨6_04略扣圖的遍歷斥紀(jì)概念騾沙理解屑線圖的遍歷末(Grap誘hTra美versa核l)的含義坦:從已給圖膠中的某一頂針點(diǎn)出發(fā),沿犁著一些邊挽訪遍左圖中所有的智頂點(diǎn),且使梳每個頂點(diǎn)僅徹被訪問一次批(注意理解月)。評6_05權(quán)春圖的深度優(yōu)床先搜索鍋報算法紀(jì)渴掌握原理奮漁深度優(yōu)先搜失索疑(Dept臺hFir作stSe業(yè)arch)韻:是一個遞精歸過程,有庭回退過程,若它的思想在灘很多題目當(dāng)撿中要用到對弄圖6.4.扮1(a)所系示的無向連議通圖,采用據(jù)DFS思想財(cái)搜索的過程督為:急(在圖(a坊)中,掃箭頭旁的數(shù)企字跟下面的首序號對應(yīng)隊(duì))葛從頂點(diǎn)A出揭發(fā),訪問塑頂點(diǎn)序號最哈小模的鄰接頂點(diǎn)估,即頂點(diǎn)B蓬;躲然后訪問頂傍點(diǎn)B的一個滴未訪問過的券鄰接頂點(diǎn),奪即頂點(diǎn)C;健(3)接久著訪問頂點(diǎn)奶C的一個未怖訪問過的鄰邀接頂點(diǎn),即圓頂點(diǎn)G;跪(4)此訊時頂點(diǎn)G慧已經(jīng)沒有未彈訪問過的鄰巷接頂點(diǎn)了重,所以襖回退折到頂點(diǎn)C;宗(5)回頓退到頂點(diǎn)C牽后,頂點(diǎn)C機(jī)也沒有未訪輔問過的鄰接趁頂點(diǎn)了,所節(jié)以黃繼續(xù)回退安到頂點(diǎn)B;蛛。6)頂粒點(diǎn)B還有一驕個未訪問過小的鄰接頂點(diǎn)他,即頂點(diǎn)E完,所以訪問鎮(zhèn)頂點(diǎn)E;司(7)然垃后訪問頂點(diǎn)芬E的一個未赴訪問過的鄰?qiáng)A接頂點(diǎn),即種頂點(diǎn)F;信(8)頂瀉點(diǎn)F有兩個習(xí)未訪問過的能鄰接頂點(diǎn),嫁選擇頂點(diǎn)序誘號最小亭的,即頂點(diǎn)播D,所以訪范問D;辰(9)此槳時頂點(diǎn)D已巧經(jīng)沒有未訪失問過的鄰接蓮頂點(diǎn)了,所鄉(xiāng)以偵回退燕到頂點(diǎn)F;遭(10)艇頂點(diǎn)F還有蕩一個未訪問絡(luò)過的鄰接頂久點(diǎn),即頂點(diǎn)居H,所以訪勒問頂點(diǎn)H;倒(11)踏然后訪問頂夢點(diǎn)H的一個鑄未訪問過的浸鄰接頂點(diǎn),笑即頂點(diǎn)I;坑(12)先此時吩頂點(diǎn)I已經(jīng)執(zhí)沒有未訪問明過的鄰接頂目點(diǎn)孩了,所以錫回退俊到頂點(diǎn)H;痕(13)消回退到頂點(diǎn)糕H后,頂點(diǎn)霜H也沒有未悠訪問過的鄰抽接頂點(diǎn)了,柳所以上繼續(xù)回退到挽頂點(diǎn)F裂;裹(14)曬回退到頂點(diǎn)場F后,頂點(diǎn)嗓F也沒有未墾訪問過的鄰環(huán)接頂點(diǎn)了,鋪所以慣繼續(xù)回退到溪頂點(diǎn)E墓;貓(15)儉回退到頂點(diǎn)背E后,頂點(diǎn)秒E也沒有未鴉訪問過的鄰錦接頂點(diǎn)了,茫所以抱繼續(xù)回退到鑒頂點(diǎn)B吧;奸(16)泉回退到頂點(diǎn)蹲B后,頂點(diǎn)怒B也沒有未紹訪問過的鄰留接頂點(diǎn)了,戰(zhàn)所以史繼續(xù)回退到貪頂點(diǎn)A熊;辰6_06卡驚圖的廣度優(yōu)敏先搜索犯稻算法則娘掌握原理胸卻廣度優(yōu)先搜攝索挽(Brea險dthF吼irst酷Searc慰h):是抖一個分層的濤搜索過程,嚼沒有回退的虹情況,是非潔遞歸的。罩6_07雜間圖的最小生集成樹映雅概念嗽嘩理解度血生成樹果:連通圖G凱的一個子圖偶如果是一棵換包含G的所張有頂點(diǎn)的樹刻,則該子圖徒稱為G的愁生成樹翻。保用不同的遍蒸歷圖的方法癢,可以得到趣不同的生成別樹;從不同潛的頂點(diǎn)出發(fā)桿,也可能得宜到不同的生笛成樹。津生成樹是連暢通圖的譽(yù)最小連通子皆圖濾。所謂躬最小企是指:蘆若在樹中任訪意增加一條遼邊,則將出餐現(xiàn)一個回路燒;衫若去掉一條土邊,將會使閉之變成非連梨通圖?;野凑丈蓸錆姷亩x,階n催個頂點(diǎn)的防連通網(wǎng)絡(luò)的變生成樹有愿n嗚個頂點(diǎn)、版n-1烈條邊。柏最小生成樹棉:生成樹各踏邊的權(quán)值總粒和稱為生成屬樹的權(quán),權(quán)談最小的生成急樹稱為沃最小生成樹智。殘構(gòu)造最小生臂成樹的準(zhǔn)則票:爸必須只使用安該網(wǎng)絡(luò)中的陜邊來構(gòu)造最蹄小生成樹;貿(mào)必須使用且吵僅使用n佛-1條邊館來聯(lián)結(jié)網(wǎng)絡(luò)迅中的n拜個頂點(diǎn);悔不能使用產(chǎn)線生回路的邊盟。捧構(gòu)造最小生魯成樹的方法自:怨克魯斯卡爾小(Krus鑄kal)啟算法和餅普里姆(P漢rim)賽算法。都得響遵守以上準(zhǔn)捉則。凈6_08芒誤Krusk悄al算法掙掉算法熊錦掌握原理抱結(jié)完整程序累Krusk夕al算法豬執(zhí)行過程魯:田將m條邊存怖儲在edg訴es數(shù)組中催,并同按權(quán)值從小殘到大排序萍。雀依次檢查每購條邊,如果低該邊的兩個歪頂點(diǎn)不屬于樹同一個集合污,則炎選用該邊翠、并將這兩堵個集合己合并估;否則猶棄用這條邊及。灑6_09矮壩最短路徑問正題班者概念緩督理解鮮工最短路徑問鼻題徒:如果從圖勾中某一頂點(diǎn)誦(稱為源點(diǎn)慮)到達(dá)另一潑頂點(diǎn)(稱為碗終點(diǎn))的路般徑可能不止幕一條,如何杰找到一條路暈徑,使得銷沿此路徑各斥邊上的權(quán)值技總和達(dá)到最悟小各。求解算法:番權(quán)值為非負(fù)葡的單源最短納路徑問題凱(固定源點(diǎn)絞)-熄Dijks被tra算法鳴(迪克斯特告拉算法,1俊959);索權(quán)值為任意黑值的單源最鴨短路徑問題外(固定源點(diǎn)螞)-防Bellm陽an-Fo克rd算法頂(貝爾曼-猴福特算法)債;漢Bellm震an-Fo變rd算法的滋改進(jìn)晃-絮SPFA算喉法達(dá);辰所有頂點(diǎn)之概間的最短路聞徑問題稿-統(tǒng)Floyd統(tǒng)-Wars變hall算卻法傍(弗洛伊德斧算法);走6_10癥陸Dijks少tra算法假敬算法太椒掌握原理隔用完整程序能為求得這些豆最短路徑,袍Dijks隆tra提出組按路徑長度狐的遞增次序下,逐步產(chǎn)生底最短路徑的級算法。首先泥求出長度最企短的一條最饑短路徑,再正參照它求出怨長度次短的茶一條最短路制徑,依次類怪推,直到從圾頂點(diǎn)v到其元它各頂點(diǎn)的霉最短路徑全去部求出為止凈。蒙第7章內(nèi)筆排序敢編號洞蠶知識點(diǎn)場元類型記賠掌握程度踩敘代碼要求脈7_01陣嗎排序問題的肚基本概念羽概概念奉啦理解率蕩在得計(jì)算機(jī)應(yīng)用雕軟件燕中經(jīng)常需要語對所管理的哭各種茂數(shù)據(jù)進(jìn)行處期理臟,恭排序珍往往是這些穩(wěn)數(shù)據(jù)處理中達(dá)需要用到的景核心運(yùn)算勺。傷內(nèi)排序宇:如果待排邪序的由記錄修個數(shù)較少,劇整個排序過治程中所有的匪記錄都可以俗直接存放在脹內(nèi)存中始,這樣的排私序叫做內(nèi)排造序(int行ernal度sort瓜ing)??兺馀判蚺铮喝绻潘胄虻挠涗洈?shù)僻量太大,內(nèi)最存無法容納男所有的記錄蟻,因此聲排序過程中姿還需要訪問蓮?fù)獯嫘?,這樣的排堡序叫做外排袖序(ext腳ernal覽sort氧ing)。替由于討論的怨是內(nèi)排序,捕在大部分情譯況下本章都射是甲考慮基于順漏序存儲的排津序匯,即掀待排序的數(shù)揪據(jù)是存儲在蓄數(shù)組繳中。戶記錄吼(reco皇rd):端參與排序的政元素稱為記師錄席,記錄是進(jìn)誘行排序的基申本單位。護(hù)序列蝕(sequ嘉ence)愛:蓮所有待排序洋記錄的集合破稱為決序列葛。所謂排序腫就是將序列拳中的記錄按漫照特定的順稈序排列起來席。正7_02竹瘡用系統(tǒng)函數(shù)僅實(shí)現(xiàn)排序粉爛應(yīng)用左尺掌握方法律物完整程序源在實(shí)際編程價時,剛可能柏不需要自己淘實(shí)現(xiàn)排序算券法,聲直接調(diào)用系鼻統(tǒng)函數(shù)實(shí)現(xiàn)胞排序即可判。但六這并不意味施著本章介紹浩的排序算法敵原理、程序裹實(shí)現(xiàn)不需要劣掌握逮。搏實(shí)現(xiàn)排序的簽系統(tǒng)函數(shù)主贏要有:qs繩ort、s牙ort函數(shù)谷qsort垃函數(shù)頑:燕采用快速排槐序算法(7貪.4.1節(jié)脊)實(shí)現(xiàn)。矛sort函廣數(shù)圓:振STL提供疏的算法,常助常結(jié)合ST遙L中的容器睛和迭代器使址用。隱7_03摩嚷插入法排序樣炒算法碼迷掌握原理門滴完整程序賄逐個處理待換排序的記錄粱,決每個新記錄似都要與前面彈那些已排好么序的記錄進(jìn)淡行比較,然乖后插入到適需當(dāng)?shù)奈恢脮?。?_04訓(xùn)慕冒泡法排序?yàn)┘~算法字成掌握原理己碼完整程序554204520425042054202402042002武冒泡法是不疊是一定要比匪較n-1趟盟?步不一定!祥比如前面的蹈例2中,n萌=8,但實(shí)氏際上只需要忠進(jìn)行5趟比三較,后面2藍(lán)趟沒有進(jìn)行哨交換。也就嫩是說,如果棉在某一趟比蜂較過程中,局沒有發(fā)現(xiàn)招前一個數(shù)比糖后一個數(shù)大巷的情況,即宮沒有進(jìn)行交研換數(shù)據(jù),那滲么后面就不仔需要再進(jìn)行苦比較了。稠極端的情況敬,假設(shè)n個遙數(shù)已經(jīng)是按展從小到大的俗順序排好了車,那么實(shí)際松上只需要進(jìn)跨行一趟比較蠟就可以得出卻結(jié)論了。茶7_05疼常選擇法排序億需算法宜火掌握原理廣屯完整程序崖直接選擇排男序法也需要賢用一個列二重循環(huán)幣來實(shí)現(xiàn),同療樣可以帶著頓以荷下3個類似羊問題來理解夾
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省南平市巨口中學(xué)2021-2022學(xué)年高一物理月考試卷含解析
- 2025年度冷鏈配送與農(nóng)產(chǎn)品產(chǎn)地直銷服務(wù)合同3篇
- 2024高標(biāo)準(zhǔn)農(nóng)田水利設(shè)施建設(shè)合同
- 2024維修橋施工合同范本:橋梁維修施工安全教育培訓(xùn)協(xié)議2篇
- 2024知識產(chǎn)權(quán)歸屬合同協(xié)議
- 2024聘請法律顧問為企業(yè)提供常年法律培訓(xùn)及風(fēng)險預(yù)警協(xié)議3篇
- 2024牛糞有機(jī)廢棄物處理服務(wù)采購合同6篇
- 2024門窗買賣銷售合同安裝施工規(guī)范書3篇
- 2025年度個人二手房買賣房產(chǎn)增值收益共享合同3篇
- 2024版設(shè)備購銷與安裝合作合同版B版
- 醫(yī)院醫(yī)療質(zhì)量安全管理工作計(jì)劃以及安全工作記錄
- 《關(guān)于新時代文明實(shí)踐志愿服務(wù)機(jī)制建設(shè)的實(shí)施方案》
- 外立面改造專項(xiàng)施工方案
- 鄉(xiāng)村旅游景觀小品裝飾創(chuàng)新創(chuàng)意
- 《甲狀腺的超聲診斷》
- 事業(yè)單位崗位設(shè)置管理工作手冊-臺州市事業(yè)單位崗位設(shè)置管理
- 中醫(yī)醫(yī)師定考述職報告3篇
- 醫(yī)療系統(tǒng)氣動物流傳輸系統(tǒng)施工工法
- GB/T 42177-2022加氫站氫氣閥門技術(shù)要求及試驗(yàn)方法
- 多層共擠吹膜
- YY 0286.1-2007專用輸液器第1部分:一次性使用精密過濾輸液器
評論
0/150
提交評論