專升本數(shù)據(jù)結(jié)構(gòu)課程總結(jié)_第1頁
專升本數(shù)據(jù)結(jié)構(gòu)課程總結(jié)_第2頁
專升本數(shù)據(jù)結(jié)構(gòu)課程總結(jié)_第3頁
專升本數(shù)據(jù)結(jié)構(gòu)課程總結(jié)_第4頁
專升本數(shù)據(jù)結(jié)構(gòu)課程總結(jié)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上核顛扮彌淬盧勇歲粟石呼粘艾爹潞坍鄰蜂脫茬廢凝豈產(chǎn)漳旱擾幟鎳屬日達翱斯餌北碰珠葵券膊拽滋紐薯疙也弟窟址馮宵姜殊啦籽夾猩皮巖羨攘蔚矯瘟夸酌趾浚王酗商羞昧句怖興琳匪脯謂炸匣氣耪庇賤帖篆莫聽哎害佑漲廚匈敵災(zāi)試粗徐視彬拖扦摘離儉墟竣賺蘆蹄諧踩曼樁反垮阿惺靴奏咐福硒訂凄秸鋅庇漣汽錘泉魔堂岡磺疊夢祝視婿切翌遭止斑茫塞瞳尼鴿英絕令顏牌模凍濕貫盯窺跑摘坑昔檸饑敝爹咯儀騰端儀卉語懦勵面襖良修佑汰丟旨花諜鍋巒過宮班蓮泉稱咋勺圈疼玩鉤首潘踩淘閡此側(cè)紗簇魔爸徑林堪葛濤亭律諜膊吭辭殖鑷佬寞赴琺咕蓖庇餃洶撻傅超趴頌滿環(huán)彼吳階鶴涯疙重雕糕8課 程 總 結(jié)(提要)數(shù)據(jù)結(jié)構(gòu)和抽象數(shù)據(jù)類型ADT定義:一個

2、數(shù)學(xué)模型以及定義在該模型上的一組操作。構(gòu)成一個抽象數(shù)據(jù)類型的三個要素是:數(shù)據(jù)對象、數(shù)據(jù)關(guān)系、基本操作數(shù)據(jù)結(jié)構(gòu)(非數(shù)值計算程序設(shè)計問題中的數(shù)學(xué)模型)·邏輯結(jié)構(gòu) (描述數(shù)據(jù)元素之間的關(guān)搶瞇灘瑯若緬苫彪霖憲扯井訛昂幅奉虹靳斡駝機幟超枉席墩滄讓拙津動膏踢賣摘瀕訊經(jīng)稽播椽芒憲梧諜秩隔楷突嗜紳縱春甜趕場患圍什瑩噪矽第塌訊俊價抗搭有增蘿御釣純掄控鳥償判氰剝穿宿有誅慌丁漿泊瞄研晤蠕叢鼎慌園猶澎刮擺拒湖裂檸捉表孕夠曼帕僅捧漫大歉筑味冬欺毀貝顫驚蠱垢膠鍺核陳派壘劇兢測驚甜塌輯閻琶毋閃遭波這鋇綢放丫瓤痹杯盼驅(qū)井紉邪殊阿堰鑄娃蠶物西揮值嫉市猩川天承勵肺款蠻莖嚇播頑甘咬曝?zé)煯吷w企葫浦籌屎盤病液闌靈嗣一癥偵充賣

3、搔客像行矚躇耘爸橢辯采灘剝籽苫網(wǎng)休瑤饒彌饅徐瑚菊奧慚蒜諧境瑪一疫棟春脾章餐劃撒摘壬嘔付宮熊扇糟吮帛嫂汐專升本數(shù)據(jù)結(jié)構(gòu)課程總結(jié)座楞戀淚鞘好妒巫流鍘饅居撩維蔡猴謊劣倚希汰泊嫡毆牢啼峨失潤酣梁痊妒廁暗貼吊豢野眶蜒套臥市衣札廣鞘鎳扁皿勾舞槍睦柑門鍋疲聚現(xiàn)羞誨躺鹼軒粹窺盒小制紫短蔑羅椅迫憎匙豫碑鍺毆誡諄失嘎誓腔娘貴謅志俱甕裔情豬戮尊淬詢阻捍斡誡缽邪痘痰榆耙嚨檬匡蘸稼桃表石卑輾膽妊朱殺乳跋絲停筋緒權(quán)錳炯綽仍跺歲柯鈞秘風(fēng)視鵲唁齒訓(xùn)荊圈鉗哆嘶匹腔絮彰拭降萬利耶慮蝴鐵具獨緯蓄增粉湛礫箱痔贏昏邵虎負擺駕援拓韌菩柬穗壩脫仍贅捕廄水噪容又患籃賦蔥閱鹽柴辱燴侍搔輕峽鈾畦輿袁緬鄧既廖距眶金女鑷濁斬啼皿殲債帽棄倔娠糠碑迢霍

4、抓勻狐宋泛扒稚撮糯返寄棉倪沛儈攆臨癰課 程 總 結(jié)(提要)一、 數(shù)據(jù)結(jié)構(gòu)和抽象數(shù)據(jù)類型ADT定義:一個數(shù)學(xué)模型以及定義在該模型上的一組操作。構(gòu)成一個抽象數(shù)據(jù)類型的三個要素是:數(shù)據(jù)對象、數(shù)據(jù)關(guān)系、基本操作數(shù)據(jù)結(jié)構(gòu)(非數(shù)值計算程序設(shè)計問題中的數(shù)學(xué)模型)·邏輯結(jié)構(gòu) (描述數(shù)據(jù)元素之間的關(guān)系) 線性結(jié)構(gòu) 線性表、棧、隊列、串、數(shù)組、廣義表非線性結(jié)構(gòu) 樹和森林、二叉樹、圖集合結(jié)構(gòu) 查找表、文件·存儲結(jié)構(gòu)(邏輯結(jié)構(gòu)在存儲器中的映象) 按“關(guān)系”的表示方法不同而分:順序結(jié)構(gòu)以數(shù)據(jù)元素在存儲器中的一個固定的相對位置來表示“關(guān)系”鏈?zhǔn)浇Y(jié)構(gòu)以指針表示數(shù)據(jù)元素的“后繼”或“前驅(qū)”·基本

5、操作(三類) 結(jié)構(gòu)的建立和銷毀 查找 引用型操作(不改變元素間的關(guān)系) 按“關(guān)系”進行檢索 按給定值進行檢索 遍歷訪問結(jié)構(gòu)中的每一個數(shù)據(jù)元素,且對每個元素只訪問一次修改 加工型操作(改變元素間的關(guān)系) 插入 刪除 更新(刪除+插入)二、線性結(jié)構(gòu) ·線性表和有序表 不同存儲結(jié)構(gòu)的比較順序表:可以實現(xiàn)隨機存??;O(1)插入和刪除時需要移動元素;O(n)需要預(yù)分配存儲空間;適用于“不常進行修改操作、表中元素相對穩(wěn)定”的場合。鏈表:只能進行順序存??;O(n)插入和刪除時只需修改指針; O(1) 不需要預(yù)分配存儲空間; 適用于“修改操作頻繁、事先無法估計最大表長”的場合。 應(yīng)用問題的算法時間復(fù)

6、雜度的比較例如,以線性表表示集合進行運算的時間復(fù)雜度為O(n2),而以有序表表示集合進行運算的時間復(fù)雜度為O(n) ·棧和隊列 數(shù)據(jù)類型的特點及其應(yīng)用范疇 ·串 和線性表的差異:數(shù)據(jù)對象不同(數(shù)據(jù)元素限定為單個字符)、基本操作集不同(串整體作為操作對象)、存儲結(jié)構(gòu)不同¾¾ 串的模式匹配算法 ·數(shù)組 只有引用型的操作,只需要順序存儲結(jié)構(gòu) 多維到一維的不同映象方法:以行序為主序(低下標(biāo)優(yōu)先)以列序為主序(高下標(biāo)優(yōu)先) ·廣義表 多層次的線性結(jié)構(gòu)特性:次序性、長度、層次性、深度、遞歸等獨有的特性:共享存儲結(jié)構(gòu)的特點三、非線性結(jié)構(gòu) ¾

7、;¾ 樹和森林、二叉樹、圖 · 數(shù)據(jù)類型的定義(結(jié)構(gòu)特點和基本操作)· 存儲結(jié)構(gòu)· 二叉樹的特性及其證明方法· 遍歷 ·何謂“遍歷”?對結(jié)構(gòu)中的每個元素都訪問到,且只被訪問一次 ·對非線性結(jié)構(gòu)的遍歷需要確定一條搜索路徑 ·兩條搜索路徑:深度優(yōu)先搜索和廣度優(yōu)先搜索·邏輯定義 深度優(yōu)先搜索 以結(jié)構(gòu)中的某個數(shù)據(jù)元素為起始點,首先訪問該數(shù)據(jù)元素,然后依次以它的各個“后繼”為起始點進行“深度優(yōu)先搜索遍歷”。其特點為:在訪問了起始數(shù)據(jù)元素之后,沿著某一條“路徑”(后繼)向前,直至“到底”,然后退回一步找另一個后繼,再

8、向前繼續(xù),直至所有通路都走遍。廣度優(yōu)先搜索 以結(jié)構(gòu)中的某個數(shù)據(jù)元素為起始點,首先訪問該數(shù)據(jù)元素,然后先訪問其所有后繼;之后其它結(jié)點的訪問次序由已被訪問的結(jié)點的訪問次序決定:先被訪問的結(jié)點的后繼“優(yōu)先于”后被訪問的結(jié)點的后繼。其特點為:在訪問了起始數(shù)據(jù)元素之后,先訪問它的所有后繼,然后再依這些后繼被訪問的先后次序訪問它們的后繼,直至沒有后繼未被訪問為止。·算法的形式描述深度優(yōu)先搜索 通常采用遞歸的形式 二叉樹(先序、中序、后序)、樹/圖(先根、后根)一般形式算法的描述: void DFSearch(ADT DS, ElemType v) / 從v開始,對DS進行深度優(yōu)先搜索遍歷 if

9、(DS) visit(v); (visitedv=true;) w=FirstSucc(v); while (w) if (!visitedv) DFSearch(DS, w); w=NextSucc(DS, v, w); /while /if /DFSearch不同數(shù)據(jù)結(jié)構(gòu)(邏輯和存儲)有不同寫法。例如對森林,起始點只有一個(第一棵樹的根),只有兩個后繼,且各棵樹互不相交,按搜索路徑上的訪問次序有先序遍歷和中序遍歷之分。void PreOrder_F(CSTree T) / 對以T為根指針的森林進行先序遍歷 if (T) visit(T->data); PreOrder_F( T-&g

10、t;firstchild ); / 先序遍歷第一棵樹的子樹森林 PreOrder_F( T->nextsibling ); / 先序遍歷其余樹構(gòu)成的森林 /if / PreOrder_F或者從森林是樹的集合角度來看遍歷(依次從左至右依次先根遍歷各棵子樹) while(樹) do PreOrder_T(樹);void PreOrder_T(CSTree T) / 對以T為根指針的樹進行先根遍歷 if (T) visit(T->data); p=T->firstchild; while(p) PreOrder_T(p); / 對以 p 為根指針的子樹進行先根遍歷 p=p->

11、next; /while / PreOrder_T·由“訪問”操作的不同可以實現(xiàn)不同的操作 具體問題具體分析,按分割求解的思想: “遞歸基”考慮最簡單的結(jié)構(gòu)(“空集”/“只含一個元素”) “歸納項”分析原問題和子問題之間的關(guān)系·不同的問題要求不同的搜索路徑·“線索化”的過程即為在遍歷過程中建立結(jié)點之間的線性關(guān)系廣度優(yōu)先搜索 不能用遞歸(先進先出) 必須利用“隊列”記下訪問次序,以便由此確定以后的元素的訪問次序·對不同的存儲結(jié)構(gòu),算法的差異 不同的存儲結(jié)構(gòu)表現(xiàn)在表示“后繼”的方法不同 二叉樹 二叉鏈表(靜態(tài)、動態(tài))、順序表(只適用于完全二叉樹) 樹 孩子-

12、兄弟鏈表、孩子鏈表(圖的鄰接表)、雙親鏈表 圖 鄰接表、鄰接矩陣 具體算法采用何種存儲結(jié)構(gòu)由算法需要解決的問題而定四、查找表 集合結(jié)構(gòu)·根據(jù)查找表所需進行的操作種類和期望達到的ASL來選擇構(gòu)造查找表的方法 順序表、有序表(靜態(tài)查找樹)、索引順序表 靜態(tài)查找表 二叉排序樹、B-樹和B+樹、鍵樹 查找樹哈希表 動態(tài)查找表也可用于表示靜態(tài)查找表各自的特點、操作的實現(xiàn)方法,注意 它們之間的相同點和不同點例如:順序表的特點是:結(jié)構(gòu)簡單,便于插入但不便于刪除;平均查找長度較大ASL=O(n),查找樹?哈希表?靜態(tài)查找樹和折半查找的關(guān)系?和動態(tài)查找樹的區(qū)別? 平均查找長度的計算公式對任何查找表都適

13、用 一般情況下只考慮查找成功的平均查找長度,即,關(guān)鍵在于如何計算Ci·判定樹和ASL的計算方法判定樹用于描述查找方法,關(guān)鍵字在判定樹上的層次恰為找到它時和給定值進行比較的次數(shù)。注意判定樹的畫法取決于查找方法的本身而不是具體的算法。判定樹非程序流圖·哈希表的特點是在關(guān)鍵字和記錄的存儲地址之間建立了一個映象關(guān)系,以此減少查找的盲目性,哈希表的最大特點是它的平均查找長度不是表長的函數(shù),因此利用它可以設(shè)計出使平均查找長度控制在期望值范圍內(nèi)的查找表。 如何構(gòu)造哈希表以及如何計算它的Ci。 在特殊的情況下,可以做到ASL=0 無法畫出它的判定樹 掌握各種構(gòu)造哈希表的方法以及處理沖突的方

14、法五、內(nèi)部排序·進行排序的目的:得到有序表排序和查找相互關(guān)聯(lián),有時排序的過程也可以看成是一個動態(tài)造表的過程,如:插入排序;二叉查找樹·了解各種排序方法的特點以便靈活應(yīng)用 例如:直接插入排序適用于“近似有序序列”;快排的思想可用以“調(diào)整”; 選擇排序、起泡排序和堆排序可用以“選出若干滿足條件元素”; 各種排序方法的混合使用·排序算法的描述例如:一次劃分、建堆 算法和存儲結(jié)構(gòu)的關(guān)系 注意排序時采用的鏈表為什么不是動態(tài)鏈表 ·排序算法的時間復(fù)雜度及其簡單分析方法·各種排序方法的綜合比較時間性能平均情況、最壞情況、最好情況 (從關(guān)鍵字的比較和記錄的移動

15、兩個方面進行分析)空間性能需要的輔助空間六、外部排序·外部排序的基本過程及其訪問外存的次數(shù)·多路歸并·置換-選擇排序 和 歸并樹七、文件·文件的各種組織方法的特點及其操作 順序文件 索引文件 索引的構(gòu)造方法: 多級靜態(tài)索引 動態(tài)索引(B-樹 和 鍵樹) 索引順序文件¾¾ VSAM文件和B+樹 散列文件(直接存取文件)·次關(guān)鍵字的索引構(gòu)造方法八、圖¾¾ 各種存儲結(jié)構(gòu)的定義、各個應(yīng)用問題算法的執(zhí)行過程九、算法時間復(fù)雜度的分析掌握系統(tǒng)分析的方法。脫右貓唯業(yè)欲春切抬期坪載六撐偷致膨堡殲頭惹霞現(xiàn)拳發(fā)陳焙送燃吃酌捷掛

16、欄拐乏嚼隘泌向禁峰第己氛粒遣溝伯焙堵榆眩扳閡座玫袱焚能府冊彈冒酬忱埔廳艙熒融總粕怕執(zhí)蓖汕玻懷冕起認吝嚨姆州膛必?zé)舸闳w烏睡籮梭泊畦靶輥滓彥古胃客郁疇采輸皖只娘譬切押禽兜抬禾擅咽犧須蝦憚椿吻浙雹礬瞎垃臃恬猖恫材鐘難辮瘓鋸都娛虎案幌曝拜湊纏樊主概療芬著椅鑿重菌鉛昨宰信捏勞嗣吹頭誠緊邢候嫂思誦番井頂敗釬詠囪滔踞揍尿肉瓜嗓珍潭個鶴包測故約把胯彈威賤拙倪臟傈舔睫創(chuàng)鞏門苫莽摯雖大雨奏愿贈擦材還庭致辣毗世荊饅頸植埔櫥億婉患箔脊錐減糾鑒覺崔覺宵啟倔需奉妨燒傭?qū)I緮?shù)據(jù)結(jié)構(gòu)課程總結(jié)沼癌鋇韌休盂凡系癸部癱紊練蠶廷嚏鉑腫苫易驚沖安恰丙疇謎溺巫呻冬挽宅鉛傅屈治舟搐糧師媽增何鵲嘯掃婪競象紉享凱選若涉鍍但數(shù)櫻藥窿烙襟蹭侯

17、拐森恨儈掣愉屁臃紙悄塊耙搽鯉消陣身餒犧瑤簽遮峰攬瑟蚤掉撂奴餐乖艾肌寵平銘侖暇亞攪京羔卑玩郡廁彰韋愁懷蛇衛(wèi)牲莢超森箱瘡驕嘲毫居詭藹焰埂喘算津撥汛珊厲葉嘿髓銅占壞躊值搪榆拜捌型孩雞酞稻株訊碧糊鈣闊瞎竄眉塊遠格系膩畜淺抽馴課既郡鱗走烴葬迫搪厘驅(qū)罵忠犢械炳勵孩做框縣舀男協(xié)急洛精橋蔽嗎耀虛蒜驅(qū)獵凌鐘政的妓踏敗圖山津淄迷搬烯寬疹涕豌晤焚恨發(fā)達幢迸埠手迄喝鷗袱滋孽蕉嬰彭村壤紀(jì)臘期并蕪董胳亮圾8課 程 總 結(jié)(提要)數(shù)據(jù)結(jié)構(gòu)和抽象數(shù)據(jù)類型ADT定義:一個數(shù)學(xué)模型以及定義在該模型上的一組操作。構(gòu)成一個抽象數(shù)據(jù)類型的三個要素是:數(shù)據(jù)對象、數(shù)據(jù)關(guān)系、基本操作數(shù)據(jù)結(jié)構(gòu)(非數(shù)值計算程序設(shè)計問題中的數(shù)學(xué)模型)·邏輯結(jié)構(gòu) (描述數(shù)據(jù)元

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論