版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1自考數(shù)據(jù)結(jié)構(gòu)重點(diǎn)(自考數(shù)據(jù)結(jié)構(gòu)重點(diǎn)(20142014整理)整理)第一章第一章概論概論1.瑞士計(jì)算機(jī)科學(xué)家沃思提出:算法數(shù)據(jù)結(jié)構(gòu)=程序。算法是對數(shù)據(jù)運(yùn)算的描述,而數(shù)據(jù)結(jié)構(gòu)包括邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)。由此可見,程序設(shè)計(jì)的實(shí)質(zhì)是針對實(shí)際問題選擇一種好的數(shù)據(jù)結(jié)構(gòu)和設(shè)計(jì)一個好的算法,而好的算法在很大程度上取決于描述實(shí)際問題的數(shù)據(jù)結(jié)構(gòu)。2.2.數(shù)據(jù)數(shù)據(jù)是信息的載體。數(shù)據(jù)元素?cái)?shù)據(jù)元素是數(shù)據(jù)的基本單位。一個數(shù)據(jù)元素可以由若干個數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)組成,數(shù)據(jù)項(xiàng)數(shù)據(jù)
2、項(xiàng)是具有獨(dú)立含義的最小標(biāo)識單位。數(shù)據(jù)對象數(shù)據(jù)對象是具有相同性質(zhì)的數(shù)據(jù)元素的集合。3.3.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)指的是數(shù)據(jù)元素之間的相互關(guān)系,即數(shù)據(jù)的組織形式。數(shù)據(jù)結(jié)構(gòu)一般包括以下三方面內(nèi)容:數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)、數(shù)據(jù)的運(yùn)算數(shù)據(jù)結(jié)構(gòu)一般包括以下三方面內(nèi)容:數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)、數(shù)據(jù)的運(yùn)算①數(shù)據(jù)的邏輯結(jié)構(gòu)是從邏輯關(guān)系上描述數(shù)據(jù),與數(shù)據(jù)元素的存儲結(jié)構(gòu)無關(guān),是獨(dú)立于計(jì)算機(jī)的。數(shù)據(jù)的邏輯結(jié)構(gòu)分類數(shù)據(jù)的邏輯結(jié)構(gòu)分類:線性結(jié)構(gòu)和非線性結(jié)
3、構(gòu)②數(shù)據(jù)元素及其關(guān)系在計(jì)算機(jī)內(nèi)的存儲方式,稱為數(shù)據(jù)的存儲結(jié)構(gòu)(物理結(jié)構(gòu))數(shù)據(jù)的存儲結(jié)構(gòu)(物理結(jié)構(gòu))。數(shù)據(jù)的存儲結(jié)構(gòu)是邏輯結(jié)構(gòu)用計(jì)算機(jī)語言的實(shí)現(xiàn),它依賴于計(jì)算機(jī)語言。③數(shù)據(jù)的運(yùn)算數(shù)據(jù)的運(yùn)算。最常用的檢索、插入、刪除、更新、排序等。4.數(shù)據(jù)的四種基本存儲方法數(shù)據(jù)的四種基本存儲方法:順序存儲、鏈接存儲、索引存儲、散列存儲(1)順序存儲:通常借助程序設(shè)計(jì)語言的數(shù)組數(shù)組描述。(2)鏈接存儲:通常借助于程序語言的指針來描述。(3)索引存儲:索引表由
4、若干索引項(xiàng)組成。關(guān)鍵字是能唯一標(biāo)識一個元素的一個或多個數(shù)據(jù)項(xiàng)的組合。(4)散列存儲:該方法的基本思想是:根據(jù)元素的關(guān)鍵字直接計(jì)算出該元素的存儲地址。5.算法必須滿足5個準(zhǔn)則:輸入輸入,0個或多個數(shù)據(jù)作為輸入;輸出輸出,產(chǎn)生一個或多個輸出;有窮性有窮性,算法執(zhí)行有限步后結(jié)束;確定性確定性,每一條指令的含義都明確;可行性可行性,算法是可行的。算法與程序的區(qū)別:程序必須依賴于計(jì)算機(jī)程序語言,而一個算法可用自然語言、計(jì)算機(jī)程序語言、數(shù)學(xué)語言或約
5、定的符號語言來描述。目前常用的描述算法語言有兩類:類Pal和類C。6.評價(jià)算法的優(yōu)劣:算法的“正確性“是首先要考慮的。此外,主要考慮如下三點(diǎn):①執(zhí)行算法所耗費(fèi)的時(shí)間,即時(shí)間復(fù)雜性;②執(zhí)行算法所耗費(fèi)的存儲空間,主要是輔助空間,即空間復(fù)雜性;③算法應(yīng)易于理解、易于編程,易于調(diào)試等,即可讀性和可操作性。以上幾點(diǎn)最主要的是時(shí)間復(fù)雜性,時(shí)間復(fù)雜度常用漸進(jìn)時(shí)間復(fù)雜度表示。7.算法求解問題的輸入量輸入量稱為問題的規(guī)模用一個正整數(shù)n表示。8.常見的時(shí)間
6、復(fù)雜度按數(shù)量級遞增排列依次為:常數(shù)階0(1)、對數(shù)階0(log2n)、線性階0(n)、線性對數(shù)階0(nlog2n)、平方階0(n2)立方階0(n3)、…、k次方階0(nk)、指數(shù)階0(2n)和階乘階0(n!)。9.一個算法的空間復(fù)雜度S(n)定義為該算法所耗費(fèi)的存儲空間,它是問題規(guī)模n的函數(shù)它包括存儲算法本身所占的存儲空間、算法的輸入輸出數(shù)據(jù)所占的存儲空間和算法在運(yùn)行過程中臨時(shí)占用的存儲空間。第二章第二章線性表線性表1.數(shù)據(jù)的運(yùn)算是定義
7、在邏輯結(jié)構(gòu)上的,而運(yùn)算的具體實(shí)現(xiàn)是在存儲結(jié)構(gòu)上進(jìn)行的。2.只要確定了線性表存儲的起始位置,線性表中任意一個元素都可隨機(jī)存取,所以順序表是一種隨機(jī)存取結(jié)構(gòu)。3.常見的線性表的基本運(yùn)算:(1)置空表InitList(L)構(gòu)造一個空的線性表L。(2)求表長ListLength(L)求線性表L中的結(jié)點(diǎn)個數(shù),即求表長。(3)GetNode(L,i)取線性表L中的第i個元素。(4)LocateNode(L,x)在L中查找第一個值為x的元素,并返回該
8、元素在L中的位置。若L中沒有元素的值為x,則返回0值。(5)List(L,i,x)在線性表L的第i個元素之前插入一個值為x的新元素,表L的長度加1。(6)List(L,i)刪除線性表L的第i個元素,刪除后表L的長度減1。4.順序存儲方法:把線性表的數(shù)據(jù)元素按邏輯次序依次存放在一組地址連續(xù)的存儲單元里的方法。順序表(SequentialList):用順序存儲方法存儲的線性表稱為順序表。順序表順序表是一種隨機(jī)存取結(jié)構(gòu)隨機(jī)存取結(jié)構(gòu)順序表的3r
9、next=sr=srnext=NULL終端結(jié)點(diǎn)的指針域置空,或空表的頭結(jié)點(diǎn)指針域置空以上三個算法的時(shí)間復(fù)雜度均為以上三個算法的時(shí)間復(fù)雜度均為O(n)O(n)。8.單鏈表上的查找:(帶頭結(jié)點(diǎn))(1)按結(jié)點(diǎn)序號查找:序號為0的是頭結(jié)點(diǎn)。算法:p=headj=0從頭結(jié)點(diǎn)開始掃描while(pnextjif(i==j)returnp找到了第i個結(jié)點(diǎn)elsereturnNULL當(dāng)i0時(shí),找不到第i個結(jié)點(diǎn)時(shí)間復(fù)雜度:在等概率假設(shè)下,平均時(shí)間復(fù)雜度為
10、:為時(shí)間復(fù)雜度:在等概率假設(shè)下,平均時(shí)間復(fù)雜度為:為n2=O(n)n2=O(n)(2)按結(jié)點(diǎn)值查找:具體算法:ListNodep=headnext從開始結(jié)點(diǎn)比較。表非空,p初始值指向開始結(jié)點(diǎn)while(p掃描下一結(jié)點(diǎn)returnp若p=NULL,則查找失敗,否則p指向值為key的結(jié)點(diǎn)時(shí)間復(fù)雜度為:時(shí)間復(fù)雜度為:O(n)O(n)9.插入運(yùn)算:插入運(yùn)算是將值為x的新結(jié)點(diǎn)插入到表的第i個結(jié)點(diǎn)的位置上,即插入到ai1與ai之間。s=(ListN
11、ode)malloc(sizeof(ListNode))②sdata=x③snext=pnext④pnext=s⑤算法的時(shí)間主要耗費(fèi)在查找結(jié)點(diǎn)上,故時(shí)間復(fù)雜度亦為O(n)。10.刪除運(yùn)算刪除運(yùn)算r=pnext②使r指向被刪除的結(jié)點(diǎn)aipnext=rnext③將ai從鏈上摘下free(r)④釋放結(jié)點(diǎn)ai的空間給存儲池算法的時(shí)間復(fù)雜度也是O(n)。p指向被刪除的前一個結(jié)點(diǎn)。鏈表上實(shí)現(xiàn)的插入和刪除運(yùn)算,無須移動結(jié)點(diǎn),僅需修改指針。11.單循環(huá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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自學(xué)專業(yè)考試數(shù)據(jù)結(jié)構(gòu)重點(diǎn)總結(jié)分析02331(2014整理)
- 自考02331數(shù)據(jù)結(jié)構(gòu)重點(diǎn)總結(jié)最終修訂
- 自考02331數(shù)據(jù)結(jié)構(gòu)重點(diǎn)總結(jié)(最終修訂)
- 數(shù)據(jù)結(jié)構(gòu)02331
- 全國2012年10月自學(xué)考試數(shù)據(jù)結(jié)構(gòu)試題
- 全國自學(xué)考試數(shù)據(jù)結(jié)構(gòu)導(dǎo)論試題及答案4套
- 全國2010年1月自學(xué)考試數(shù)據(jù)結(jié)構(gòu)導(dǎo)論試題
- 全國2013年1月自學(xué)考試數(shù)據(jù)結(jié)構(gòu)導(dǎo)論試題
- 全國自學(xué)考試數(shù)據(jù)結(jié)構(gòu)導(dǎo)論試題及答案(4套)
- 2022年自考數(shù)據(jù)結(jié)構(gòu)02331試題及答案
- 《數(shù)據(jù)結(jié)構(gòu)》自學(xué)指導(dǎo)
- 2022年自考數(shù)據(jù)結(jié)構(gòu)02331試題及答案
- 自考數(shù)據(jù)結(jié)構(gòu)02331歷年試題及答案20092015個人整理版
- 學(xué)前比較教育-筆記整理-自學(xué)考試
- 2017年4月自考02331數(shù)據(jù)結(jié)構(gòu)試卷及答案解釋
- 【自學(xué)考試】自考國際商務(wù)與國際營銷重點(diǎn)總結(jié)(好資料)
- 數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)重點(diǎn)歸納
- 行政組織理論自學(xué)考試復(fù)習(xí)整理筆記
- 2017公司法重點(diǎn)(司考、自學(xué)考試)
- 2017公司法重點(diǎn)司考、自學(xué)考試
評論
0/150
提交評論