




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫第一頁,共四十二頁,2022年,8月28日第一部分
數(shù)據(jù)結(jié)構(gòu)第二頁,共四十二頁,2022年,8月28日教材《數(shù)據(jù)結(jié)構(gòu)(c語言版)》,嚴(yán)蔚敏等編著,清華大學(xué)出版社,1997《數(shù)據(jù)結(jié)構(gòu)題集(c語言版)》,嚴(yán)蔚敏等編著,清華大學(xué)出版社,1999第三頁,共四十二頁,2022年,8月28日參考書《數(shù)據(jù)結(jié)構(gòu)(第二版)》,唐策善、黃劉生編著,中國科大出版社,2001
"DataStructureswithC++",WilliawFordetal.,PrenticeHallInc.,1996."DataStructures&ProgramDesigninC,2ndEd.",RobertKruseetal.,PrenticeHallInc.,1997.
第四頁,共四十二頁,2022年,8月28日什么是數(shù)據(jù)結(jié)構(gòu)基本概念和術(shù)語抽象數(shù)據(jù)類型算法分析性能分析與度量第一章緒論第五頁,共四十二頁,2022年,8月28日學(xué)生成績表格第六頁,共四十二頁,2022年,8月28日選課單學(xué)號課程號時間成績20001DS2000SX20002001,22000,9788720002ART2000DS20002002,22001,2689020003SX2000DS20002000,92001,2877820004SX2000ART20002000,92002,28976第七頁,共四十二頁,2022年,8月28日UNIX文件系統(tǒng)結(jié)構(gòu)圖/rootbinlibuseretcmathdsswyintaoxieStack.cppQueue.cppTree.cpp第八頁,共四十二頁,2022年,8月28日綜上,描述這類非數(shù)值計算問題的數(shù)學(xué)模型不是數(shù)學(xué)方程,而是樹、表和圖之類的數(shù)據(jù)結(jié)構(gòu)。因此從廣義上講,數(shù)據(jù)結(jié)構(gòu)描述現(xiàn)實(shí)世界實(shí)體的數(shù)學(xué)模型及其上的操作在計算機(jī)中的表示和實(shí)現(xiàn).第九頁,共四十二頁,2022年,8月28日信息?數(shù)據(jù)?知識?
?第十頁,共四十二頁,2022年,8月28日基本概念和術(shù)語數(shù)據(jù)(Data)是信息的載體,是描述客觀事物的數(shù)、字符、以及所有能輸入到計算機(jī)中,被計算機(jī)程序識別和處理的符號的集合。
數(shù)值性數(shù)據(jù)非數(shù)值性數(shù)據(jù)第十一頁,共四十二頁,2022年,8月28日數(shù)據(jù)元素(DataElement)數(shù)據(jù)的基本單位。在計算機(jī)程序中常作為一個整體進(jìn)行考慮和處理。有時一個數(shù)據(jù)元素可以由若干數(shù)據(jù)項(xiàng)(DataItem)組成。數(shù)據(jù)項(xiàng)是數(shù)據(jù)的不可分割的最小單位。數(shù)據(jù)元素又稱為元素、結(jié)點(diǎn)、記錄第十二頁,共四十二頁,2022年,8月28日數(shù)據(jù)項(xiàng)(DataItem)
學(xué)號姓名出生日期年月日籍貫?zāi)昙壪祫e宿舍號第十三頁,共四十二頁,2022年,8月28日數(shù)據(jù)對象(DataObject)具有相同性質(zhì)的數(shù)據(jù)元素的集合。整數(shù)數(shù)據(jù)對象N={0,1,2,…}字母字符數(shù)據(jù)對象
C={‘A’,‘B’,‘C’,…‘F’}第十四頁,共四十二頁,2022年,8月28日數(shù)據(jù)結(jié)構(gòu)(DataStructure)形式定義:
某一數(shù)據(jù)對象的所有數(shù)據(jù)成員之間的關(guān)系。記為:
Data_Structure={D,S}
其中,D是某一數(shù)據(jù)對象,S是該對象中所有數(shù)據(jù)成員之間的關(guān)系的有限集合。第十五頁,共四十二頁,2022年,8月28日序偶:
一般來說,兩個具有固定次序的客體組成一個序偶,常常表示兩個客體之間的關(guān)系。記作<x,y>。其中的x和y分別稱為第一元素和第二元素。如:“中國地處亞洲”表示為<中國,亞洲>序偶具有確定的次序。
<x,y>=<u,v>,iffx=u,y=v第一元素本身也可是一序偶。這樣,序偶的概念可推廣到n元組。
如:三元組可定義為一序偶<<x,y>,z>第十六頁,共四十二頁,2022年,8月28日關(guān)系:任一序偶的集合確定了一個二元關(guān)系R,R中任一序偶<x,y>可記做xRy。例如,在實(shí)數(shù)中關(guān)系>
可記作
>={<x,y>|x,y是實(shí)數(shù)且x>y}
數(shù)據(jù)結(jié)構(gòu)的一個例子(例1.5)Group=(P,R)
第十七頁,共四十二頁,2022年,8月28日四類基本結(jié)構(gòu)集合線性結(jié)構(gòu)樹形結(jié)構(gòu)網(wǎng)狀結(jié)構(gòu)第十八頁,共四十二頁,2022年,8月28日數(shù)據(jù)的邏輯結(jié)構(gòu)從邏輯關(guān)系上描述數(shù)據(jù),與數(shù)據(jù)的存儲無關(guān);從具體問題抽象出來的數(shù)據(jù)模型;與數(shù)據(jù)元素本身的形式、內(nèi)容無關(guān);與數(shù)據(jù)元素的相對位置無關(guān)。第十九頁,共四十二頁,2022年,8月28日數(shù)據(jù)的邏輯結(jié)構(gòu)分類線性結(jié)構(gòu)
線性表非線性結(jié)構(gòu)
樹圖(或網(wǎng)絡(luò))第二十頁,共四十二頁,2022年,8月28日bindevetclibuser2114131211234678910315871011998745662313155線性結(jié)構(gòu)樹形結(jié)構(gòu)
樹二叉樹二叉排序樹第二十一頁,共四十二頁,2022年,8月28日堆結(jié)構(gòu)123548711102916125643125436113318146651921圖結(jié)構(gòu)網(wǎng)絡(luò)結(jié)構(gòu)第二十二頁,共四十二頁,2022年,8月28日數(shù)據(jù)的存儲結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)在計算機(jī)中的表示(又稱映象)。包括數(shù)據(jù)元素的表示和關(guān)系的表示。數(shù)據(jù)元素的表示:位串(元素、結(jié)點(diǎn))關(guān)系的表示
順序映象非順序映象第二十三頁,共四十二頁,2022年,8月28日抽象數(shù)據(jù)類型(AbstractDataType)數(shù)據(jù)類型
定義:一個值的集合和定義在這個值集上的一組操作的總稱。C語言中的基本數(shù)據(jù)類型
intcharfloatdoublevoid整型字符型浮點(diǎn)型雙精度型無值第二十四頁,共四十二頁,2022年,8月28日抽象數(shù)據(jù)類型是指一個數(shù)學(xué)模型以及定義在此數(shù)學(xué)模型上的一組操作數(shù)據(jù)結(jié)構(gòu)+定義在此數(shù)據(jù)結(jié)構(gòu)上的一組操作=抽象數(shù)據(jù)類型例如:矩陣+(求轉(zhuǎn)置、加、乘、 求逆、求特征值) 構(gòu)成一個矩陣的抽象數(shù)據(jù)類型第二十五頁,共四十二頁,2022年,8月28日抽象數(shù)據(jù)類型的描述抽象數(shù)據(jù)類型可用(D,S,P)三元組表示 其中,D是數(shù)據(jù)對象,S是D上的關(guān)系集,P是對D的基本操作集。
ADT抽象數(shù)據(jù)類型名{
數(shù)據(jù)對象:〈數(shù)據(jù)對象的定義〉
數(shù)據(jù)關(guān)系:〈數(shù)據(jù)關(guān)系的定義〉
基本操作:〈基本操作的定義〉 }ADT抽象數(shù)據(jù)類型名第二十六頁,共四十二頁,2022年,8月28日其中,數(shù)據(jù)對象、數(shù)據(jù)關(guān)系用偽碼描述;基本操作定義格式為 基本操作名(參數(shù)表) 初始條件:〈初始條件描述〉
操作結(jié)果:〈操作結(jié)果描述〉基本操作有兩種參數(shù):賦值參數(shù)只為操作提供輸入值;引用參數(shù)以&打頭,除可提供輸入值外,還將返回操作結(jié)果?!俺跏紬l件”描述了操作執(zhí)行之前數(shù)據(jù)結(jié)構(gòu)和參數(shù)應(yīng)滿足的條件,若不滿足,則操作失敗,并返回相應(yīng)出錯信息。“操作結(jié)果”說明了操作正常完成之后,數(shù)據(jù)結(jié)構(gòu)的變化狀況和應(yīng)返回的結(jié)果。若初始條件為空,則省略之。第二十七頁,共四十二頁,2022年,8月28日抽象數(shù)據(jù)類型的表示和實(shí)現(xiàn)
抽象數(shù)據(jù)類型可以通過固有數(shù)據(jù)類型(高級編程語言中已實(shí)現(xiàn)的數(shù)據(jù)類型)來實(shí)現(xiàn)抽象數(shù)據(jù)類型類class數(shù)據(jù)對象數(shù)據(jù)成員基本操作成員函數(shù)(方法)在C++中,類的成分(數(shù)據(jù)成員和成員函數(shù))可以有三種訪問級別Private私有成分(只允許類的成員函數(shù)進(jìn)行訪問)
protected保護(hù)成分(只允許類的成員函數(shù)及其子孫類進(jìn)行訪問)public公有成分(允許類的成員函數(shù)、類的實(shí)例及其子孫類、子孫類的實(shí)例進(jìn)行訪問)第二十八頁,共四十二頁,2022年,8月28日算法和算法分析定義:為了解決某類問題而規(guī)定的一個有限長的操作序列。特性:有窮性算法在執(zhí)行有窮步后能結(jié)束確定性每步定義都是確切、無歧義可行性每一條運(yùn)算應(yīng)足夠基本輸入有0個或多個輸入輸出有一個或多個輸出第二十九頁,共四十二頁,2022年,8月28日算法設(shè)計例子:
選擇排序問題:遞增排序解決方案:逐個選擇最小數(shù)據(jù)算法框架:
for(inti=0;i<n-1;i++){
//n-1趟 從a[i]檢查到a[n-1];
若最小整數(shù)在a[k],交換a[i]與a[k];}細(xì)化:SelectSort第三十頁,共四十二頁,2022年,8月28日voidselectSort(inta[],intn){
//對n個整數(shù)a[0],a[1],…,a[n-1]按遞增順序排序
for(inti=0;i<n-1;i++){ intk=i;
for(intj=i+1;j<n;j++)
if(a[j]<a[k])k=j;//從a[i]查到a[n-1],找最小整數(shù),在a[k]
inttemp=a[i];a[i]=a[k];a[k]=temp;}}
第三十一頁,共四十二頁,2022年,8月28日性能分析與度量算法的性能標(biāo)準(zhǔn)正確性可讀性健壯性效率(時間、空間)第三十二頁,共四十二頁,2022年,8月28日算法的事后統(tǒng)計(后期測試)在算法中的某些部位插裝時間函數(shù)time
(),
測定算法完成某一功能所花費(fèi)時間
doublestart,stop;
time(&start);
intk=seqsearch(a,n,x);
time(&stop);
doublerunTime=stop-start;printf(”%d%d\n",n,runTime);第三十三頁,共四十二頁,2022年,8月28日intseqsearch(inta[],intn,intx){//在a[0],…,a[n-1]中搜索x
inti=0;
while(i<n&&a[i]!=x)
i++;
if(i==n)return
-1;
returni;}
第三十四頁,共四十二頁,2022年,8月28日算法的事前估計時間復(fù)雜度度量運(yùn)行時間=算法中每條語句執(zhí)行時間之和。每條語句執(zhí)行時間=該語句的執(zhí)行次數(shù)(頻度)*語句執(zhí)行一次所需時間。語句執(zhí)行一次所需時間取決于機(jī)器的指令性能和速度和編譯所產(chǎn)生的代碼質(zhì)量,很難確定。設(shè)每條語句執(zhí)行一次所需時間為單位時間,則一個算法的運(yùn)行時間就是該算法中所有語句的頻度之和。第三十五頁,共四十二頁,2022年,8月28日舉例1矩陣相乘算法
for(i=1;i<=n;++i)//n+1for(j=1;j<=n;++j){//n(n+1)c[i][j]=0;//n2for(k=1;k<=n;++k)//n2(n+1)c[i][j]+=a[i][k]*b[k][j];//n3}
則算法執(zhí)行時間T(n)為所有語句的頻度之和。
T(n)=n+1+n(n+1)+…+n3
=2n3
+3n2+2n+1第三十六頁,共四十二頁,2022年,8月28日漸進(jìn)時間復(fù)雜度
引入“O”記號,以體現(xiàn)隨問題規(guī)模n的增長率。
T(n)=n+1+n(n+1)+…+n3
=2n3
+3n2+2n+1=O(n3),其中n3
為增長最快的項(xiàng)。最壞時間復(fù)雜度vs.平均時間復(fù)雜度
有時算法基本操作重復(fù)執(zhí)行次數(shù)還隨問題的輸入數(shù)據(jù)集不同而不同(如一些排序算法)。這時可分析最壞時間復(fù)雜度(最壞情況下的時間復(fù)雜度)和平均時間復(fù)雜度(平均情況下的時間復(fù)雜度)第三十七頁,共四十二頁,2022年,8月28日
估計算法時間的通常做法:
根據(jù)問題(或算法類型),從算法中選取一種原操作(指固有數(shù)據(jù)類型的操作)作為基本操作。其重復(fù)執(zhí)行次數(shù)應(yīng)與算法執(zhí)行時間成正比;一般為最深層循環(huán)內(nèi)的語句中的原操作;用該基本操作重復(fù)執(zhí)行的次數(shù)作為算法的時間度量。即統(tǒng)計包含該操作的所有語句的頻度之和。如:上例中選取乘法為基本操作;算法執(zhí)行時間T(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北孝感美珈職業(yè)學(xué)院《組織行為學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆明藝術(shù)職業(yè)學(xué)院《中外美術(shù)史》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川文化藝術(shù)學(xué)院《軌道交通自動化專題》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025屆湖南省高考?xì)v史仿真模擬試卷02
- 2025年上海市安全員《C證》考試題庫
- 晉中學(xué)院《特種鑄造》2023-2024學(xué)年第二學(xué)期期末試卷
- 林州建筑職業(yè)技術(shù)學(xué)院《商業(yè)插圖》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江中醫(yī)藥大學(xué)《商務(wù)溝通與談判》2023-2024學(xué)年第二學(xué)期期末試卷
- 拉薩師范高等??茖W(xué)?!洞髷?shù)據(jù)安全技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 長沙學(xué)院《生物藥物檢測技術(shù)與設(shè)備》2023-2024學(xué)年第二學(xué)期期末試卷
- 醫(yī)院納入定點(diǎn)后使用醫(yī)療保障基金的預(yù)測性分析報告
- 媒介素養(yǎng)概論 課件 劉勇 第0-4章 緒論、媒介素養(yǎng)-新聞評論
- 智能割草機(jī)器人的概述外文翻譯
- 井下作業(yè)工:初級井下作業(yè)工考試答案二
- 民營企業(yè)職務(wù)犯罪預(yù)防
- 睿智醫(yī)藥科技股份有限公司財務(wù)分析研究
- 【品牌戰(zhàn)略】麥當(dāng)勞公司成功管理秘訣苦心經(jīng)營
- 2024屆南通二模(又蘇北七市二模)數(shù)學(xué)試題
- 菜點(diǎn)與酒水知識課件
- 新修訂《中小學(xué)教師職業(yè)道德規(guī)范》解讀
- 品質(zhì)月工作總結(jié)
評論
0/150
提交評論