版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1第1章數(shù)據(jù)結(jié)構(gòu)與算法經(jīng)過對部分考生的調(diào)查以及對近年真題的總結(jié)分析,筆試部分經(jīng)常考查的是算法復雜度、數(shù)據(jù)結(jié)構(gòu)的概念、棧、二叉樹的遍歷、二分法查找,讀者應對此部分進行重點學習。詳細重點學習知識點:1算法的概念、算法時間復雜度及空間復雜度的概念2數(shù)據(jù)結(jié)構(gòu)的定義、數(shù)據(jù)邏輯結(jié)構(gòu)及物理結(jié)構(gòu)的定義3棧的定義及其運算、線性鏈表的存儲方式4樹與二叉樹的概念、二叉樹的基本性質(zhì)、完全二叉樹的概念、二叉樹的遍歷5二分查找法6冒泡排序法1.1算法考點1算法的基
2、本概念考試鏈接:考點1在筆試考試中考核的幾率為30%,主要是以填空題的形式出現(xiàn),分值為2分,此考點為識記內(nèi)容,讀者還應該了解算法中對數(shù)據(jù)的基本運算。計算機解題的過程實際上是在實施某種算法,這種算法稱為計算機算法。1算法的基本特征:可行性、確定性、有窮性、擁有足夠的情報。2算法的基本要素:(1)算法中對數(shù)據(jù)的運算和操作一個算法由兩種基本要素組成:一是對數(shù)據(jù)對象的運算和操作;二是算法的控制結(jié)構(gòu)。在一般的計算機系統(tǒng)中,基本的運算和操作有以下4
3、類:算術(shù)運算、邏輯運算、關(guān)系運算和數(shù)據(jù)傳輸。(2)算法的控制結(jié)構(gòu):算法中各操作之間的執(zhí)行順序稱為算法的控制結(jié)構(gòu)。描述算法的工具通常有傳統(tǒng)流程圖、NS結(jié)構(gòu)化流程圖、算法描述語言等。一個算法一般都可以用順序、選擇、循環(huán)3種基本控制結(jié)構(gòu)組合而成。考點2算法復雜度考試鏈接:考點2在筆試考試中,是一個經(jīng)常考查的內(nèi)容,在筆試考試中出現(xiàn)的幾率為70%,主要是以選擇的形式出現(xiàn),分值為2分,此考點為重點識記內(nèi)容,讀者還應該識記算法時間復雜度及空間復雜度的
4、概念。1.算法的時間復雜度算法的時間復雜度是指執(zhí)行算法所需要的計算工作量。同一個算法用不同的語言實現(xiàn),或者用不同的編譯程序進行編譯,或者在不同的計算機上運行,效率均不同。這表明使用絕對的時間單位衡量算法的效率是不合適的。撇開這些與計算機硬件、軟件有關(guān)的因素,可以認為一個特定算法“運行工作量“的大小,只依賴于問題的規(guī)模(通常用整數(shù)n表示),它是問題規(guī)模的函數(shù)。即算法的工作量=f(n)2.算法的空間復雜度算法的空間復雜度是指執(zhí)行這個算法所需
5、要的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。其中額外空間包括算法程序執(zhí)行過程中的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲空間。如果額外空間量相對于問題規(guī)模來說是常數(shù),則稱該算3疑難解答:空的數(shù)據(jù)結(jié)構(gòu)是線性結(jié)構(gòu)還是非線性結(jié)構(gòu)?一個空的數(shù)據(jù)結(jié)構(gòu)究竟是屬于線性結(jié)構(gòu)還是屬于非線性結(jié)構(gòu),這要根據(jù)具體情況來確定。如果對該數(shù)據(jù)結(jié)構(gòu)的算法是按線性結(jié)構(gòu)的規(guī)則來處理的,則屬于
6、線性結(jié)構(gòu);否則屬于非線性結(jié)構(gòu)。1.3棧及線性鏈表考點5棧及其基本運算考試鏈接:考點5在筆試考試中,是一個必考的內(nèi)容,在筆試考試中出現(xiàn)的幾率為100%,主要是以選擇的形式出現(xiàn),分值為2分,此考點為重點掌握內(nèi)容,讀者應該掌握棧的運算。1棧的基本概念棧是限定只在一端進行插入與刪除的線性表,通常稱插入、刪除的這一端為棧頂,另一端為棧底。當表中沒有元素時稱為空棧。棧頂元素總是后被插入的元素,從而也是最先被刪除的元素;棧底元素總是最先被插入的元素,
7、從而也是最后才能被刪除的元素。棧是按照“先進后出“或“后進先出“的原則組織數(shù)據(jù)的。2棧的順序存儲及其運算用一維數(shù)組S(1∶m)作為棧的順序存儲空間,其中m為最大容量。在棧的順序存儲空間S(1∶m)中,S(bottom)為棧底元素,S(top)為棧頂元素。top=0表示???;top=m表示棧滿。棧的基本運算有三種:入棧、退棧與讀棧頂元素。(1)入棧運算:入棧運算是指在棧頂位置插入一個新元素。首先將棧頂指針加一(即top加1),然后將新元素
8、插入到棧頂指針指向的位置。當棧頂指針已經(jīng)指向存儲空間的最后一個位置時,說明??臻g已滿,不可能再進行入棧操作。這種情況稱為棧“上溢“錯誤。(2)退棧運算:退棧是指取出棧頂元素并賦給一個指定的變量。首先將棧頂元素(棧頂指針指向的元素)賦給一個指定的變量,然后將棧頂指針減一(即top減1)。當棧頂指針為0時,說明棧空,不可進行退棧操作。這種情況稱為棧的“下溢“錯誤。(3)讀棧頂元素:讀棧頂元素是指將棧頂元素賦給一個指定的變量。這個運算不刪除棧
9、頂元素,只是將它賦給一個變量,因此棧頂指針不會改變。當棧頂指針為0時,說明??眨x不到棧頂元素。小技巧:棧是按照“先進后出“或“后進先出“的原則組織數(shù)據(jù),但是出棧方式有多種選擇,在考題中經(jīng)??疾楦鞣N不同的出棧方式??键c6線性鏈表的基本概念考試鏈接:考點6在筆試考試中出現(xiàn)的幾率為30%,主要是以選擇的形式出現(xiàn),分值為2分,此考點為識記內(nèi)容。重點識記結(jié)點的組成。在鏈式存儲方式中,要求每個結(jié)點由兩部分組成:一部分用于存放數(shù)據(jù)元素值,稱為數(shù)據(jù)域
10、,另一部分用于存放指針,稱為指針域。其中指針用于指向該結(jié)點的前一個或后一個結(jié)點(即前件或后件)。鏈式存儲方式既可用于表示線性結(jié)構(gòu),也可用于表示非線性結(jié)構(gòu)。(1)線性鏈表線性表的鏈式存儲結(jié)構(gòu)稱為線性鏈表。在某些應用中,對線性鏈表中的每個結(jié)點設置兩個指針,一個稱為左指針,用以指向其前件結(jié)點;另一個稱為右指針,用以指向其后件結(jié)點。這樣的表稱為雙向鏈表。(2)帶鏈的棧棧也是線性表,也可以采用鏈式存儲結(jié)構(gòu)。帶鏈的??梢杂脕硎占嬎銠C存儲空間中所有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《計算機公共基礎(chǔ)》全課程教案
- 計算機公共基礎(chǔ)知識試題
- 《計算機公共基礎(chǔ)》全課程教案
- 計算機公共基礎(chǔ)教學大綱匯編
- 計算機2級公共基礎(chǔ)120題
- 計算機公共基礎(chǔ)模擬題庫
- 計算機公共基礎(chǔ)教學大綱匯編
- 公共基礎(chǔ)知識之計算機試題
- 計算機基礎(chǔ)
- 計算機基礎(chǔ)統(tǒng)考題計算機安全
- 計算機國二office公共基礎(chǔ)知識
- 2017最全計算機公共基礎(chǔ)知識試題
- 計算機二級公共基礎(chǔ)知識-
- 計算機二級公共基礎(chǔ)知識
- 計算機基礎(chǔ)習題
- 計算機基礎(chǔ)五
- 計算機絡基礎(chǔ)
- 計算機基礎(chǔ)答案
- 大學計算機基礎(chǔ)
- 《計算機應用基礎(chǔ)》
評論
0/150
提交評論