摘要: To download a presentation, just click on the appropriate presentation title below :
Date
Presentation Title
Presented By
26/04/2012
Why choose IMS/TM as your enterprise ... 閱讀全文
摘要: To download a presentation, just click on the appropriate presentation title below :
Date
Presentation Title
Presented By
26/04/2012
Why choose IMS/TM as your enterprise ... 閱讀全文
原文題是嚴蔚敏同志的數(shù)據(jù)結(jié)構(gòu)習(xí)題中第二章線性表中提出的問題。
原問如下: 2.24 假設(shè)有兩個按元素值遞增有序排列的線性表A和B,均以單鏈表作存儲結(jié)構(gòu),請編寫算法將A表與B表歸并成一個按元素值遞減有序(即非遞增有序,允許表中含有值相同的元表)排列的線性表C,并要求利用原表(即A表與B表)的結(jié)點空間構(gòu)造C表。 分析:對兩個或兩個以上,結(jié)點按元素值遞增/減排列的單鏈表進行操作時,應(yīng)采用"指針平行移動、一次掃描完成"的策略。且鏈表A與鏈表B的長度大小不一定相等。 代碼: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 第一講 第1章概論——1(概念、邏輯結(jié)構(gòu)、存儲)
http://db.pku.edu.cn/mzhang/ds/media/1_intro_LogStore.rm
第二講 第1章 概論——2(存儲結(jié)構(gòu),ADT,算法特征,算法量度)
第三講 第2章線性表、棧和隊列——1(線性表ADT和存儲結(jié)構(gòu))
http://db.pku.edu.cn/mzhang/ds/media/3_List_ADTStore.rm
第四講 第2章線性表、棧和隊列——2(棧的存儲和應(yīng)用)
http://db.pku.edu.cn/mzhang/ds/media/4_List_Stack.rm
第五講 第2章線性表、棧和隊列——3(棧和表達式,棧和遞歸)
http://db.pku.edu.cn/mzhang/ds/media/5_List_StackExp.rm
第六講 第2章線性表、棧和隊列——4(棧和遞歸,隊列)
第七講 第3章字符串——1(字符串概念、ADT、簡單模式匹配)
http://db.pku.edu.cn/mzhang/ds/media/7_String_ADT.rm
第八講 第3章 字符串——2(模式匹配、KMP算法)
第九講 第4章 二叉樹——1(二叉樹的概念和ADT)
http://db.pku.edu.cn/mzhang/ds/media/9_BT_ADT.rm
第十講 第4章 二叉樹——2(二叉樹的周游)
第十一講 第4章二叉樹——3(二叉樹的非遞歸后序周游)
http://db.pku.edu.cn/mzhang/ds/media/11_BT_NonRecPost.rm
第十二講 第4章二叉樹——4(二叉樹的廣度周游,二叉樹實現(xiàn)和穿線二叉樹)
http://db.pku.edu.cn/mzhang/ds/media/12_BT_BreathThread.rm
第十三講 第4章二叉樹——5(二叉樹的線索化)
http://db.pku.edu.cn/mzhang/ds/media/15_BT_Thread.rm
第十四講 第4章二叉樹——6(二叉搜索樹)
http://db.pku.edu.cn/mzhang/ds/media/16_BT_BST.rm
第十五講 第4章 二叉樹——7(堆)
http://db.pku.edu.cn/mzhang/ds/media/19_BT_Heap.rm
第十六講 第4章二叉樹——8(Huffman樹)
第十七講 第5章樹——1(樹的基本概念和周游)
http://db.pku.edu.cn/mzhang/ds/media/21_Tree_ADT_Trav.rm
第十八講 第5章 樹——2(樹的廣度周游和存儲)
http://db.pku.edu.cn/mzhang/ds/media/22_Tree_BreathTrav_Store.rm
第十九講 第5章 樹——3(樹的 順序存儲、帶右鏈先根)
http://db.pku.edu.cn/mzhang/ds/media/23_Tree_Seq.rm
第二十講 第5章 樹——4(樹的左鏈層次次序表示,帶度數(shù)后根,樹計數(shù))
第二十一講 第6章 圖——1(圖的概念)
http://db.pku.edu.cn/mzhang/ds/media/25_Graph_Concept.rm
第二十二講 第6章圖——2(圖的存儲和周游)
http://db.pku.edu.cn/mzhang/ds/media/26_Graph_Trav.rm
第二十三講 第6章 圖——3(圖的拓撲排序)
第二十四講 第6章圖——4(圖的單源最短路徑Dijstra算法)
第二十五講 第6章圖——5(圖的Floyd算法和最小支持樹的prim算法)
http://db.pku.edu.cn/mzhang/ds/media/31_Graph_FloydPrim.rm
第二十六講 第6章圖——6(圖的kruskal算法)
http://db.pku.edu.cn/mzhang/ds/media/32_Graph_Kruskal.rm
第二十七講 第7章內(nèi)排序——1(內(nèi)排序基本概念和插入排序)
http://db.pku.edu.cn/mzhang/ds/media/33_Sort_ConceptIns.rm
第二十八講 第7章內(nèi)排序——2(二分插入排序,冒泡排序和shell排序)
http://db.pku.edu.cn/mzhang/ds/media/34_Sort_BinIns_Shell.rm
第二十九講 第7章 內(nèi)排序——3(快速排序)
第三十講 第7章內(nèi)排序——4(歸并排序)
http://db.pku.edu.cn/mzhang/ds/media/36_Sort_Merge.rm
第三十一講 第7章 內(nèi)排序——5(堆排序 、桶式排序)
第三十二講 第7章 內(nèi)排序——6(基數(shù)排序)
http://db.pku.edu.cn/mzhang/ds/media/38_Sort_Radix.rm
第三十三講 第7章內(nèi)排序——7(總結(jié)、地址排序)
第三十四講 第8章文件管理和外排序——1(文件的基本概念)
http://db.pku.edu.cn/mzhang/ds/media/41_File_Concept.rm
第三十五講 第8章文件管理和外排序——2(置換選擇排序、二路歸并、選擇樹)
http://db.pku.edu.cn/mzhang/ds/media/42_File_ReplaceSort_SelTree.rm
第三十六講 第8章 文件管理和外排序——3(敗方樹,多路歸并)
第三十七講 第9章 檢索——1(檢索的基本概念,順序檢索)
http://db.pku.edu.cn/mzhang/ds/media/44_Search_Concept_Seq.rm
第三十八講 第9章 檢索——2(集合檢索,散列函數(shù),開散列法)
http://db.pku.edu.cn/mzhang/ds/media/45_Search_Set_Hash_Func_Openlink.rm
第三十九講 第9章 檢索——3(閉散列,探測算法)
第四十講 第10章索引——1(索引基本概念,線性索引,倒排索引)
http://db.pku.edu.cn/mzhang/ds/media/47_Index_Conc_Seq_InvertedInd.rm
第四十一講 第10章 索引——2(B樹,B+樹)
第四十二講 第10章 索引——3(B+樹,索引的性能分析) 下載rm
第四十三講 第11章 高級線性表——1(多維數(shù)組,矩陣,廣義表,內(nèi)存管理)下載rm pdf
第四十四講 第12章高級樹結(jié)構(gòu)——1(Trie樹,最佳二叉搜索樹)
http://db.pku.edu.cn/mzhang/ds/media/56_AdvTree_Trie_BestBST.rm
第四十五講 第12章 高級樹結(jié)構(gòu)——2(AVL樹)
http://db.pku.edu.cn/mzhang/ds/media/57_AdvTree_AVL.rm
第四十六講 第12章 高級樹結(jié)構(gòu)——3(AVL樹的效率,自組織數(shù)據(jù)結(jié)構(gòu),伸展樹,決策樹)
http://db.pku.edu.cn/mzhang/ds/media/58_AdvTree_AVLAnalysis_SpatialDS_Decision.rm
多維數(shù)組和廣義表是一種復(fù)雜的非線性結(jié)構(gòu),它們的邏輯特征是:一個數(shù)據(jù)元素可能有多個直接前驅(qū)和多個直接后繼。
多維數(shù)組 1、數(shù)組(向量)——常用數(shù)據(jù)類型 一維數(shù)組(向量)是存儲于計算機的連續(xù)存儲空間中的多個具有統(tǒng)一類型的數(shù)據(jù)元素。 同一數(shù)組的不同元素通過不同的下標標識。 (a1,a2,…,an) 2、二維數(shù)組 二維數(shù)組Amn可視為由m個行向量組成的向量,或由n個列向量組成的向量。 二維數(shù)組中的每個元素aij既屬于第i行的行向量,又屬于第j列的列向量。 3、多維數(shù)組 三維數(shù)組Amnp可視為以二維數(shù)組為數(shù)據(jù)元素的向量。四維數(shù)組可視為以三維數(shù)組為數(shù)據(jù)元素的向量…… 三維數(shù)組中的每個元素aijk都屬于三個向量。四維數(shù)組中的每個元素都屬于四個向量…… 4、數(shù)組的順序存儲方式 由于計算機內(nèi)存是一維的,多維數(shù)組的元素應(yīng)排成線性序列后存人存儲器。 數(shù)組一般不做插入和刪除操作,即結(jié)構(gòu)中元素個數(shù)和元素間關(guān)系不變化。一般采用順序存儲方法表示數(shù)組。 (1)行優(yōu)先順序 將數(shù)組元素按行向量排列,第i+1個行向量緊接在第i個行向量后面。 【例】二維數(shù)組Amn的按行優(yōu)先存儲的線性序列為: a11,a12,…,a1n,a21,a22,…,a2n,……,am1,am2,…,amn 注意: ①PASCAL和C語言中,數(shù)組按行優(yōu)先順序存儲。 ②行優(yōu)先順序推廣到多維數(shù)組,可規(guī)定為先排最右的下標。 (2)列優(yōu)先順序 將數(shù)組元素按列向量排列,第i+1個列向量緊接在第i個列向量后面。 【例】二維數(shù)組Amn的按列優(yōu)先存儲的線性序列為: a11,a21,…,am1,a12,a22,…,am2,……,a1n,a2n,…,amn 注意: ①FORTRAN語言中,數(shù)組按列優(yōu)先順序存儲。 ②列優(yōu)先順序推廣到多維數(shù)組,可規(guī)定為先排最左的下標。 5、數(shù)組元素的地址計算公式 (1)按行優(yōu)先順序存儲的二維數(shù)組Amn地址計算公式 LOC(aij)=LOC(a11)+[(i-1)×n+j-1]×d 其中: ①LOC(a11)是開始結(jié)點的存放地址(即基地址) ②d為每個元素所占的存儲單元數(shù) ③由地址計算公式可得,數(shù)組中任一元素可通過地址公式在相同時間內(nèi)存取。即順序存儲的數(shù)組是隨機存取結(jié)構(gòu)。 (2)按列優(yōu)先順序存儲的二維數(shù)組Amn地址計算公式 LOC(aij)=LOC(a11)+[(j-1)×m+i-1]×d (3)按行優(yōu)先順序存儲的三維數(shù)組Amnp地址計算公式 LOC(aijk)=LOC(a111)+[(i-1)×n×p+(j-1)×p+k-1]×d (4)下界不為1的二維數(shù)組的地址計算公式 ①二維數(shù)組A[c1..d1,c2..d2]的地址計算公式: LOC(aij)=LOC(ac1c2)+[(i-c1)×(d2-c2+1)+j-c2]×d ②下界為0的二維數(shù)組的地址計算公式(C語言中使用) LOC(aij)=LOC(a00)+[i×(d2+1)+j]×d 注意: 以下討論的數(shù)組存儲結(jié)構(gòu)都以C語言下標表示。 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |