全國計算機等級考試二級公共基礎知識復習課程_第1頁
全國計算機等級考試二級公共基礎知識復習課程_第2頁
全國計算機等級考試二級公共基礎知識復習課程_第3頁
全國計算機等級考試二級公共基礎知識復習課程_第4頁
全國計算機等級考試二級公共基礎知識復習課程_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

全國(quánɡuó)計算機等級考試

二級公共基礎知識

1感謝(gǎnxiè)你的觀看2019年5月18日第一頁,共78頁?;?jīběn)要求1.掌握算法的基本概念。2.掌握基本數(shù)據(jù)結構(shùjùjiéɡòu)及其操作。3.掌握基本排序和查找算法。4.掌握逐步求精的結構化程序設計方法。5.掌握軟件工程的基本方法,具有初步應用相關技術進行軟件開發(fā)的能力。6.掌握數(shù)據(jù)的基本知識,了解關系數(shù)據(jù)庫的設計。2感謝(gǎnxiè)你的觀看2019年5月18日第二頁,共78頁。考試內容

一、基本(jīběn)數(shù)據(jù)結構與算法1.算法的基本概念;算法復雜度的概念和意義(時間復雜度與空間復雜度)。2.數(shù)據(jù)結構的定義;數(shù)據(jù)的邏輯結構與存儲結構;數(shù)據(jù)結構的圖形表示;線性結構與非線性結構的概念。3.線性表的定義;線性表的順序(shùnxù)存儲結構及其插入與刪除運算。4.棧和隊列的定義;棧和隊列的順序(shùnxù)存儲結構及其基本運算。5.線性單鏈表、雙向鏈表與循環(huán)鏈表的結構及其基本運算。6.樹的基本概念;二叉樹的定義及其存儲結構;二叉樹的前序、中序和后序遍歷。7.順序(shùnxù)查找與二分法查找算法;基本排序算法(交換類排序,選擇類排序,插入類排序)。3感謝(gǎnxiè)你的觀看2019年5月18日第三頁,共78頁。二、程序設計(chénɡxùshèjì)基礎1.程序設計(chénɡxùshèjì)方法與風格。2.結構化程序設計(chénɡxùshèjì)。3.面向對象的程序設計(chénɡxùshèjì)方法,對象,方法,屬性及繼承與多態(tài)性。4感謝(gǎnxiè)你的觀看2019年5月18日第四頁,共78頁。三、軟件工程(ruǎnjiànɡōnɡchénɡ)基礎1.軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境。2.結構化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說明書。3.結構化設計方法,總體設計與詳細設計。4.軟件測試(cèshì)的方法,白盒測試(cèshì)與黑盒測試(cèshì),測試(cèshì)用例設計,軟件測試(cèshì)的實施,單元測試(cèshì)、集成測試(cèshì)和系統(tǒng)測試(cèshì)。5.程序的調試,靜態(tài)調試與動態(tài)調試。5感謝(gǎnxiè)你的觀看2019年5月18日第五頁,共78頁。四、數(shù)據(jù)庫設計(shèjì)基礎1.數(shù)據(jù)庫的基本概念:數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫系統(tǒng)。2.數(shù)據(jù)模型,實體聯(lián)系模型及E-R圖,從E-R圖導出關系數(shù)據(jù)模型。3.關系代數(shù)運算,包括集合運算及選擇、投影、連接(liánjiē)運算,數(shù)據(jù)庫規(guī)范化理論。4.數(shù)據(jù)庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略。6感謝(gǎnxiè)你的觀看2019年5月18日第六頁,共78頁??荚?kǎoshì)方式1、公共基礎的考試方式為筆試(bǐshì),與C語言(VisualBASIC、VisualFoxPro、Java、Access、VisualC++)的筆試(bǐshì)部分合為一張試卷。公共基礎部分占全卷的30分。2、公共基礎知識有10道選擇題和5道填空題。7感謝(gǎnxiè)你的觀看2019年5月18日第七頁,共78頁。學習(xuéxí)方法理解基本概念多做練習適當記憶一些(yīxiē)名詞與所學的VBA程序設計知識結合起來,以增加對知識的理解能力8感謝(gǎnxiè)你的觀看2019年5月18日第八頁,共78頁。1.基本(jīběn)數(shù)據(jù)結構與算法1.1算法(suànfǎ)1.1.1算法(algorithm)基本概念對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條(yītiáo)指令表示一個或多個操作。它是一組嚴謹?shù)囟x運算順序的規(guī)則,并且每一個規(guī)則都是有效的,且是明確的,此順序將在有限的次數(shù)下終止。算法具有有窮性、確定性、可行性、輸入和輸出(擁有足夠的情報)等5個重要特性。9感謝你的觀看2019年5月18日第九頁,共78頁。1.1算法(suànfǎ)的基本概念 算法的定義:一個(yīɡè)有窮的指令集,這些指令為解決某一特定問題規(guī)定了一個(yīɡè)運算序列,即方法和步驟,在計算機學科中,算法就是計算機解決問題的過程或步驟。算法是解題方案的準確而完整的描述。算法等于程序?等于計算方法?10感謝(gǎnxiè)你的觀看2019年5月18日第十頁,共78頁。結構化程序算法的特性如下。(1)可行性算法中的操作能夠用已經(jīng)實現(xiàn)的基本運算執(zhí)行有限次來實現(xiàn)。(2)確定性算法中的每一步都有確切的含義。(3)有窮性一個算法(對任何(rènhé)合法的輸入)在執(zhí)行有窮步后能夠結束,并且在有限的時間內完成。(4)擁有足夠的情報當算法擁有足夠的情報,此算法才是有效的。

考點1:算法的定義

例2.1.1

問題處理方案的正確而完整的描述(miáoshù)稱為______。[2005年4月填空第5題]

例2.1.2算法具有4個特性,以下選項中不屬于算法特性的是(

A.有窮性

B.簡潔性

C.可行性

D.確定性

11感謝(gǎnxiè)你的觀看2019年5月18日第十一頁,共78頁。1.1.2算法的基本要素1、對數(shù)據(jù)對象的運算和操作(cāozuò)算術運算邏輯運算關系運算數(shù)據(jù)傳輸2、算法的控制結構算法中各操作(cāozuò)之間的執(zhí)行順序描述算法的工具通常有傳統(tǒng)流程圖、N-S結構化流程圖、算法描述語言等一個算法一般可以用順序、選擇、循環(huán)三種基本機構組合而成。12感謝(gǎnxiè)你的觀看2019年5月18日第十二頁,共78頁。1.1.3算法(suànfǎ)設計基本方法列舉法歸納法遞推遞歸(以簡潔的形式設計和描述算法(suànfǎ))減半遞推技術回溯法13感謝(gǎnxiè)你的觀看2019年5月18日第十三頁,共78頁。1.2算法(suànfǎ)復雜度1.2.1時間復雜度依據(jù)算法算法編制的程序在計算機上運行時所消耗(xiāohào)的時間來度量。通常有事后統(tǒng)計法和事前分析估算法。一個算法是由控制結構(順序、分支和循環(huán))和原操作構成的,算法時間取決于兩者的綜合效果。算法中基本操作重復執(zhí)行次數(shù)n和算法執(zhí)行時間同步增長,稱作算法的時間復雜度。14感謝(gǎnxiè)你的觀看2019年5月18日第十四頁,共78頁。 算法的時間復雜度指算法的時間耗費,算法時間是由控制結構和原操作的決定的。算法中基本操作重復執(zhí)行的次數(shù)是問題規(guī)模n的某個函數(shù)f(n),記作:T(n)=O(f(n)) 它表示隨問題規(guī)模n的增大,算法執(zhí)行時間的增長率和f(n)的增長率相同。 算法的時間復雜度用來(yònɡlái)衡量算法執(zhí)行過程中所需要的基本運算次數(shù)。算法的時間復雜度是指算法所需要的計算工作量。15感謝(gǎnxiè)你的觀看2019年5月18日第十五頁,共78頁。1.2.2算法的空間復雜度一般是指執(zhí)行這個算法所需要的內存空間一個算法所占用的存儲空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及某種數(shù)據(jù)結構所需要的附加存儲空間一個上機執(zhí)行的程序除了(chúle)需要存儲空間來寄存本身所用指令、常數(shù)、變量和輸入數(shù)據(jù)外,也需要一些對數(shù)據(jù)進行操作的工作單元和存儲一些為實現(xiàn)計算所需信息的輔助空間。16感謝(gǎnxiè)你的觀看2019年5月18日第十六頁,共78頁。 算法的空間復雜度描述算法的存儲空間需求,運行完一個程序所需要(xūyào)的內存大小是問題規(guī)模n的某個函數(shù)g(n),記作:S(n)=O(g(n)) 它表示隨著問題規(guī)模n的增大,算法運行所需存儲空間的增長率S(n)與g(n)的增長率相同??臻g復雜度是指執(zhí)行這個算法所需要(xūyào)的內存空間。

2007-4真題:17感謝(gǎnxiè)你的觀看2019年5月18日第十七頁,共78頁。例題(lìtí)講解算法的時間復雜度是指A)執(zhí)行(zhíxíng)算法程序所需要的時間B)算法程序的長度C)算法執(zhí)行(zhíxíng)過程中所需要的基本運算次數(shù)D)算法程序中的指令條數(shù)算法的基本特征是可行性、確定性、【1】和擁有足夠的情報。算法的空間復雜度是指A)算法程序的長度 B)算法程序中的指令條數(shù)C)算法程序所占的存儲空間D)執(zhí)行(zhíxíng)過程中所需要的存儲空間18感謝(gǎnxiè)你的觀看2019年5月18日第十八頁,共78頁。在計算機中,算法是指A)加工方法 B)解題方案(fāngàn)的準確而完整的描述C)排序方法 D)查詢方法算法的工作量大小和實現(xiàn)算法所需的存儲單元多少分別稱為算法的【1】。19感謝(gǎnxiè)你的觀看2019年5月18日第十九頁,共78頁。1.2數(shù)據(jù)結構(shùjùjiéɡòu)數(shù)據(jù)結構(jiégòu)的定義數(shù)據(jù)的邏輯結構(jiégòu)和存儲結構(jiégòu)數(shù)據(jù)結構(jiégòu)的圖形表示線性結構(jiégòu)與非線性結構(jiégòu)20感謝(gǎnxiè)你的觀看2019年5月18日第二十頁,共78頁。1.2.1數(shù)據(jù)結構(shùjùjiéɡòu)研究的主要內容當今計算機應用的特點:所處理的數(shù)據(jù)量大且具有一定的關系;對其操作不再是單純的數(shù)值計算,而更多地是需要對其進行組織、管理和檢索。應用舉例1——學籍檔案管理假設一個學籍檔案管理系統(tǒng)應包含(bāohán)如下表1-1所示的學生信息。21感謝(gǎnxiè)你的觀看2019年5月18日第二十一頁,共78頁。22感謝(gǎnxiè)你的觀看2019年5月18日第二十二頁,共78頁。特點:l 每個學生的信息占據(jù)一行(yīxíng),所有學生的信息按學號順序依次排列構成一張表格;l 表中每個學生的信息依據(jù)學號的大小存在著一種前后關系,這就是我們所說的線性結構;l 對它的操作通常是插入某個學生的信息,刪除某個學生的信息,更新某個學生的信息,按條件檢索某個學生的信息等等。應用舉例2——輸出n個對象的全排列輸出n個對象的全排列可以使用下圖1-1所示的形式描述。23感謝(gǎnxiè)你的觀看2019年5月18日第二十三頁,共78頁。圖1-13個對象的全排列(páiliè)過程24感謝(gǎnxiè)你的觀看2019年5月18日第二十四頁,共78頁。特點:l 在求解過程中,所處理的數(shù)據(jù)之間具有層次關系,這是我們所說的樹形結構;l 對它的操作有:建立樹形結構,輸出最低層結點內容等等。應用舉例3——制定教學計劃在制定教學計劃時,需要考慮各門課程(kèchéng)的開設順序。有些課程(kèchéng)需要先導課程(kèchéng),有些課程(kèchéng)則不需要,而有些課程(kèchéng)又是其他課程(kèchéng)的先導課程(kèchéng)。比如,計算機專業(yè)課程(kèchéng)的開設情況如下表1-2所示:25感謝(gǎnxiè)你的觀看2019年5月18日第二十五頁,共78頁。26感謝(gǎnxiè)你的觀看2019年5月18日第二十六頁,共78頁。課程先后關系(guānxì)的圖形描形式:c1c9c4c2c12c10c11c5c3c6c7c8圖1-2計算機專業(yè)必修課程開設先后(xiānhòu)關系27感謝(gǎnxiè)你的觀看2019年5月18日第二十七頁,共78頁。特點l 課程之間的先后關系用圖結構描述;l 通過實施創(chuàng)建圖結構,按要求將圖結構中的頂點進行線性排序。結論:數(shù)據(jù)結構(shùjùjiéɡòu)主要研究以下三個方面的問題:數(shù)據(jù)的邏輯結構數(shù)據(jù)的存儲結構對各種數(shù)據(jù)結構(shùjùjiéɡòu)進行的運算28感謝(gǎnxiè)你的觀看2019年5月18日第二十八頁,共78頁。 數(shù)據(jù)的邏輯(luójí)結構:用來描述數(shù)據(jù)元素之間的邏輯(luójí)關系。 數(shù)據(jù)的存儲結構:用來描述數(shù)據(jù)元素及數(shù)據(jù)元素之間的關系在存儲器中的存儲形式。*重點提示:同一邏輯(luójí)結構的數(shù)據(jù)可以采用不同存儲結構,但影響數(shù)據(jù)處理效率。 數(shù)據(jù)的運算:即對數(shù)據(jù)元素施加的操作。 數(shù)據(jù)結構的圖形表示:用圖形來直觀地表示數(shù)據(jù)及其之間的關系。數(shù)據(jù)結構包括(bāokuò)邏輯結構、存儲結構和數(shù)據(jù)的運算3個方面的內容。29感謝(gǎnxiè)你的觀看2019年5月18日第二十九頁,共78頁。數(shù)據(jù)結構是一門研究數(shù)據(jù)組織、存儲和運算的一般(yībān)方法的學科。1.2.2基本概念和術語(shùyǔ)30感謝(gǎnxiè)你的觀看2019年5月18日第三十頁,共78頁。能輸入(shūrù)到計算機中并能被計算機程序處理的符號的集合。整數(shù)(1,2)、實數(shù)(shìshù)(1.1,1.2)字符串(Beijing)、圖形、聲音。1.2.2基本概念和術語(shùyǔ)數(shù)據(jù)結構是一門研究數(shù)據(jù)組織、存儲和運算的一般方法的學科。31感謝你的觀看2019年5月18日第三十一頁,共78頁。1.2.2基本概念和術語(shùyǔ)計算機管理圖書(túshū)問題在圖書(túshū)館里有各種卡片:有按書名編排的、有按作者編排的、有按分類編排如何將查詢圖書(túshū)的這些信息存入計算機中既要考慮查詢時間短,又要考慮節(jié)省空間數(shù)據(jù)結構是一門(yīmén)研究數(shù)據(jù)組織、存儲和運算的一般方法的學科。32感謝你的觀看2019年5月18日第三十二頁,共78頁。最簡單(jiǎndān)的辦法之一是建立一張表,每一本書的信息在表中占一行,如1.2.2基本概念和術語(shùyǔ)數(shù)據(jù)結構是一門(yīmén)研究數(shù)據(jù)組織、存儲和運算的一般方法的學科。33感謝你的觀看2019年5月18日第三十三頁,共78頁。如何將0,1,2,3,4,5,6,7,8,9這10個數(shù)存放在計算機中能最快地達到你所需要(xūyào)的目的?目的不同,最佳的存儲方方法就不同。從大到小排列:9,8,7,6,5,4,3,2,1,0輸出偶數(shù):0,2,4,6,8,1,3,5,7,9數(shù)據(jù)元素(yuánsù)在計算機中的表示數(shù)據(jù)結構是一門(yīmén)研究數(shù)據(jù)組織、存儲和運算的一般方法的學科。1.2.2基本概念和術語34感謝你的觀看2019年5月18日第三十四頁,共78頁。對數(shù)據(jù)結構(shùjùjiéɡòu)中的節(jié)點進行操作處理(插入、刪除、修改、查找、排序)1.2.2基本概念和術語(shùyǔ)數(shù)據(jù)結構是一門研究(yánjiū)數(shù)據(jù)組織、存儲和運算的一般方法的學科。35感謝你的觀看2019年5月18日第三十五頁,共78頁。數(shù)據(jù)(shùjù)元素(DataElement)數(shù)據(jù)元素是數(shù)據(jù)的基本(jīběn)單位,即數(shù)據(jù)集合中的個體。有時一個數(shù)據(jù)元數(shù)可由若干數(shù)據(jù)項(DataItem)組成。數(shù)據(jù)項是數(shù)據(jù)的最小單位。數(shù)據(jù)(shùjù)元素亦稱節(jié)點或記錄。36感謝你的觀看2019年5月18日第三十六頁,共78頁。數(shù)據(jù)結構(shùjùjiéɡòu)可描述為Group=(D,R)有限(yǒuxiàn)個數(shù)據(jù)元素的集合有限(yǒuxiàn)個節(jié)點間關系的集合37感謝你的觀看2019年5月18日第三十七頁,共78頁。1.數(shù)據(jù)(shùjù)的邏輯結構2、數(shù)據(jù)(shùjù)的存儲結構3、數(shù)據(jù)的運算:檢索、排序、插入、刪除(shānchú)、修改等。A.線性結構

B.非線性結構A順序存儲

B鏈式存儲線性表棧隊樹形結構圖形結構數(shù)據(jù)結構的三個方面數(shù)據(jù)結構可描述為Group=(D,R)38感謝你的觀看2019年5月18日第三十八頁,共78頁。線性結構(jiégòu)A,B,C,·······,X,Y,Z學生成績表86胡孝臣986110395劉忠賞9861107100張卓9861109成績姓名學號線性表——結點(jiédiǎn)間是以線性關系聯(lián)結39感謝(gǎnxiè)你的觀看2019年5月18日第三十九頁,共78頁。樹形結構(jiégòu)全校學生檔案管理的組織(zǔzhī)方式計算機程序管理系統(tǒng)也是典型(diǎnxíng)的樹形結構40感謝你的觀看2019年5月18日第四十頁,共78頁。ABCDEFGH樹形結構——結點間具有分層次的連接(liánjiē)關系HBCDEFGA41感謝(gǎnxiè)你的觀看2019年5月18日第四十一頁,共78頁。1.數(shù)據(jù)(shùjù)的邏輯結構2、數(shù)據(jù)(shùjù)的存儲結構3、數(shù)據(jù)的運算:檢索、排序、插入(chārù)、刪除、修改等。A.線性結構B.非線性結構A順序存儲

B鏈式存儲線性表棧隊樹形結構圖形結構數(shù)據(jù)結構的三個方面(亦稱物理結構)42感謝你的觀看2019年5月18日第四十二頁,共78頁。1423

D={1,2,3,4}R={(1,2),(1,3),(1,4),(2,3)(3,4),(2,4)}213

D={1,2,3}R={(1,2),(2,3),(3,2),(1,3)}圖形(túxíng)結構——節(jié)點間的連結是任意的43感謝(gǎnxiè)你的觀看2019年5月18日第四十三頁,共78頁。1.數(shù)據(jù)的邏輯(luójí)結構2、數(shù)據(jù)(shùjù)的存儲結構3、數(shù)據(jù)的運算:檢索、排序、插入(chārù)、刪除、修改等。A.線性結構B.非線性結構A順序存儲

B鏈式存儲線性表棧隊樹形結構圖形結構數(shù)據(jù)結構的三個方面(亦稱物理結構)44感謝你的觀看2019年5月18日第四十四頁,共78頁。元素(yuánsù)n……..元素(yuánsù)i……..元素(yuánsù)2元素1LoLo+mLo+(i-1)*mLo+(n-1)*m存儲地址存儲內容Loc(a)=Lo+(i-1)*m順序存儲每個元素所占用的存儲單元個數(shù)45感謝你的觀看2019年5月18日第四十五頁,共78頁。元素(yuánsù)n……..元素(yuánsù)i……..元素(yuánsù)2元素1存儲內容順序存儲結構常用于線性數(shù)據(jù)結構,將邏輯上相鄰的數(shù)據(jù)元素存儲在物理上相鄰的存儲單元里。順序存儲結構的三個弱點:1.作插入或刪除操作時,需移動大量元數(shù)。2.長度變化較大時,需按最大空間分配。3.表的容量難以擴充。46感謝你的觀看2019年5月18日第四十六頁,共78頁。1.數(shù)據(jù)(shùjù)的邏輯結構2、數(shù)據(jù)(shùjù)的存儲結構3、數(shù)據(jù)的運算:檢索、排序、插入(chārù)、刪除、修改等。A.線性結構B.非線性結構A順序存儲

B鏈式存儲

線性表棧隊樹形結構圖形結構數(shù)據(jù)結構的三個方面(亦稱物理結構)47感謝你的觀看2019年5月18日第四十七頁,共78頁。1536元素(yuánsù)21400元素(yuánsù)11346元素(yuánsù)3∧元素41345h

鏈式存儲每個節(jié)點都由兩部分組成:數(shù)據(jù)域和指針域。數(shù)據(jù)域存放元素本身的數(shù)據(jù),指針域存放指針。數(shù)據(jù)元素之間邏輯上的聯(lián)系由指針來體現(xiàn)。48感謝你的觀看2019年5月18日第四十八頁,共78頁。1536元素(yuánsù)21400元素(yuánsù)11346元素(yuánsù)3∧元素4head1346元素31536

…….

……..

…….1536元素21400

…….

……..

…….∧元素413461400元素11345指針存儲內容存儲地址

鏈式存儲134549感謝你的觀看2019年5月18日第四十九頁,共78頁。1536元素(yuánsù)21400元素(yuánsù)11346元素(yuánsù)3∧元素41345h

鏈式存儲1.比順序存儲結構的存儲密度小(每個節(jié)點都由數(shù)據(jù)域和指針愈組成)。2.邏輯上相鄰的節(jié)點物理上不必相鄰。3.插入、刪除靈活(不必移動節(jié)點,只要改變節(jié)點中的指針)。鏈接存儲結構特點:50感謝你的觀看2019年5月18日第五十頁,共78頁。1.數(shù)據(jù)(shùjù)的邏輯結構2、數(shù)據(jù)(shùjù)的存儲結構3、數(shù)據(jù)的運算:檢索、排序(páixù)、插入、刪除、修改等。A.線性結構B.非線性結構A順序存儲

B鏈式存儲線性表棧隊樹形結構圖形結構數(shù)據(jù)結構的三個方面(亦稱物理結構)51感謝你的觀看2019年5月18日第五十一頁,共78頁。線性結構(jiégòu)和非線性結構(jiégòu)如果一個非空的數(shù)據(jù)結構滿足下列兩個(liǎnɡɡè)條件:有且只有一個根結點;每一個結點最多有一個前件,也最多有一個后件則稱該數(shù)據(jù)結構為線性結構(線性表)。如果一個數(shù)據(jù)結構不是線性結構,則稱之為非線性結構。52感謝(gǎnxiè)你的觀看2019年5月18日第五十二頁,共78頁。例題(lìtí)講解數(shù)據(jù)結構(shùjùjiéɡòu)分為邏輯結構與存儲結構,線性鏈表屬于【1】。P327數(shù)據(jù)結構(shùjùjiéɡòu)中,與所使用的計算機無關的是數(shù)據(jù)的A)存儲結構 B)物理結構C)邏輯結構 D)物理和存儲結構數(shù)據(jù)的邏輯結構有線性結構和【1】兩大類。53感謝(gǎnxiè)你的觀看2019年5月18日第五十三頁,共78頁。順序存儲方法是把邏輯上相鄰的結點存儲在物理位置【2】的存儲單元中。P317數(shù)據(jù)處理的最小單位是P309A)數(shù)據(jù)B)數(shù)據(jù)元素C)數(shù)據(jù)項D)數(shù)據(jù)結構數(shù)據(jù)結構作為計算機的一門學科,主要研究數(shù)據(jù)的邏輯結構、對各種數(shù)據(jù)結構進行的運算(yùnsuàn),以及A)數(shù)據(jù)的存儲結構B)計算方法C)數(shù)據(jù)映象D)邏輯存儲54感謝(gǎnxiè)你的觀看2019年5月18日第五十四頁,共78頁。根據(jù)數(shù)據(jù)結構中各數(shù)據(jù)元素之間前后(qiánhòu)件關系的復雜程度,一般將數(shù)據(jù)結構分成A)動態(tài)結構和靜態(tài)結構 B)緊湊結構和非緊湊結構C)線性結構和非線性結構D)內部結構和外部結構數(shù)據(jù)結構包括數(shù)據(jù)的邏輯結構、數(shù)據(jù)的【2】以及對數(shù)據(jù)的操作運算。數(shù)據(jù)的基本單位是【5】。55感謝(gǎnxiè)你的觀看2019年5月18日第五十五頁,共78頁。下列敘述中,錯誤的是A)數(shù)據(jù)的存儲(cúnchǔ)結構與數(shù)據(jù)處理的效率密切相關B)數(shù)據(jù)的存儲(cúnchǔ)結構與數(shù)據(jù)處理的效率無關C)數(shù)據(jù)的存儲(cúnchǔ)結構在計算機中所占的空間不一定是連續(xù)的D)一種數(shù)據(jù)的邏輯結構可以有多種存儲(cúnchǔ)結構數(shù)據(jù)的存儲(cúnchǔ)結構是指P314A)數(shù)據(jù)所占的存儲(cúnchǔ)空間B)數(shù)據(jù)的邏輯結構在計算機中的表示C)數(shù)據(jù)在計算機中的順序存儲(cúnchǔ)方式D)存儲(cúnchǔ)在外存中的數(shù)據(jù)56感謝(gǎnxiè)你的觀看2019年5月18日第五十六頁,共78頁。1.3線性表及其順序存儲結構(jiégòu)1.3.1線性表的定義線性表是n個元素的有限序列,它們之間的關系(guānxì)可以排成一個線性序列:a1,a2,……,ai,……,an其中n稱作表的長度,當n=0時,稱作空表。57感謝(gǎnxiè)你的觀看2019年5月18日第五十七頁,共78頁。線性表的特點:1.線性表中所有元素的性質相同。2.除第一個和最后一個數(shù)據(jù)元素之外,其它數(shù)據(jù)元素有且僅有一個前驅和一個后繼。第一個數(shù)據(jù)元素無前驅,最后一個數(shù)據(jù)元素無后繼。3.數(shù)據(jù)元素在表中的位置只取決于它自身的序號。在線性表上常用(chánɡyònɡ)的運算有:初始化、求長度、取元素、修改、前插、刪除、檢索、排序。58感謝(gǎnxiè)你的觀看2019年5月18日第五十八頁,共78頁。1.3.2線性表的順序存儲結構(jiégòu)及其插入與刪除操作特點:1、線性表中數(shù)據(jù)元素類型一致,只有數(shù)據(jù)域,存儲空間利用率高。2、所有元素所占的存儲空間是連續(xù)的3、各數(shù)據(jù)元素在存儲空間中是按邏輯順序(shùnxù)依次存放的2.做插入、刪除時需移動大量元素。3.空間估計不明時,按最大空間分配。59感謝(gǎnxiè)你的觀看2019年5月18日第五十九頁,共78頁。元素(yuánsù)an……..元素(yuánsù)ai……..元素(yuánsù)a2元素a1bb+mb+(i-1)*m

b+(maxlen-1)*m存儲地址內存狀態(tài)Loc(元素i)=b+(i-1)*m順序存儲結構示意圖(順序表):首地址起始地址基地址每個元素所占用的存儲單元個數(shù)60感謝你的觀看2019年5月18日第六十頁,共78頁。元素a1元素a2……..元素ai+1……..01i線性表的順序存儲結構——可用VB語言中的一維數(shù)組來描述.DimV[M]Asinteger;/*V是數(shù)組的名字,M是數(shù)組大小,假設數(shù)組中的元素(yuánsù)是整型類型*/第i個元素(yuánsù)的ai存儲地址:Loc(ai)=Loc(a1)+(i-1)*mV[0]V[1]V[i]V[m-1]61感謝(gǎnxiè)你的觀看2019年5月18日第六十一頁,共78頁?!?.a2a1an…..ai+1ai01i-1in-11-1插入(chārù)運算ai-1…..a2a1alength

…ai+1ai

x

ai-1…..

a2

a1

ai

ai+1

…alength

alength

…ai+1

ai

x62感謝(gǎnxiè)你的觀看2019年5月18日第六十二頁,共78頁。OptionBase0Functionintinsq(iAsInteger,xAsInteger,V()AsInteger,MAsInteger,)/*順序表插入函數(shù)*//*在線性表V中第i個元素之前插入x,i的合法值為1in*/DimnAsInteger,jAsIntegern=UBound(V)/*獲取表長*/Ifn=MThen/*M是存儲空間的大小(dàxiǎo)*/print"overflown“ExitFunctionEndIfIf(i<1)or(i>n+1)Thenprint"iiserror“ExitFunction/*i值不合法*/Elseforj=nToiStep-1V(j)=V(j-1)/*插入位置后的元素依次右移*/NextJV(j)=x/*插入x*/EndIfEndFunction注意(zhùyì)數(shù)組元素從0開始63感謝(gǎnxiè)你的觀看2019年5月18日第六十三頁,共78頁。1-2刪除運算OptionBaseoFunctiondelsq(iAsInteger,V()AsInteger])/*在線性表V中刪除第i個元素(yuánsù)*/DimnAsInteger,jAsIntegern=UBound(V)Ifi<1ori>nThenprint"Thiselementisnotinthelist“ExitFunctionelseForj=ITonV(j-1)=V(j)/*被刪除元素(yuánsù)之后的元素(yuánsù)左移*/NextJEndifEndFunction64感謝(gǎnxiè)你的觀看2019年5月18日第六十四頁,共78頁。插入算法(suànfǎ)的分析假設線性表中含有n個數(shù)據(jù)元素,在進行插入操作時,若假定在n+1個位置上插入元素的可能性均等,則平均移動元素的個數(shù)為:65感謝(gǎnxiè)你的觀看2019年5月18日第六十五頁,共78頁。刪除算法的分析在進行刪除操作時,若假定刪除每個元素的可能性均等,則平均移動元素的個數(shù)為:分析結論(jiélùn)順序存儲結構表示的線性表,在做插入或刪除操作時,平均需要移動大約一半的數(shù)據(jù)元素。當線性表的數(shù)據(jù)元素量較大,并且經(jīng)常要對其做插入或刪除操作時,這一點需要值得考慮。66感謝(gǎnxiè)你的觀看2019年5月18日第六十六頁,共78頁。例題(lìtí)講解順序存儲方法是把邏輯上相鄰的結點(jiédiǎn)存儲在物理位置【2】的存儲單元中。PPT:P4667感謝(gǎnxiè)你的觀看2019年5月18日第六十七頁,共78頁。線性表L=(a1,a2,a3,…ai,…an),下列說法正確的是A)每個元素都有一個(yīɡè)直接前件和直接后件B)線性表中至少要有一個(yīɡè)元素C)表中諸元素的排列順序必須是由小到大或由大到小D)除第一個(yīɡè)元素和最后一個(yīɡè)元素外,其余每個元素都有一個(yīɡè)且只有一個(yīɡè)直接前件和直接后件P31768感謝(gǎnxiè)你的觀看2019年5月18日第六十八頁,共78頁。根據(jù)數(shù)據(jù)結構中各數(shù)據(jù)元素之間前后件關系的復雜程度,一般(yībān)將數(shù)據(jù)結構分成P316A)動態(tài)結構和靜態(tài)結構 B)緊湊結構和非緊湊結構C)線性結構和非線性結構D)內部結構和外部結構69感謝(gǎnxiè)你的觀看2019年5月18日第六十九頁,共78頁。下列敘述中,錯誤的是A)數(shù)據(jù)的存儲結構與數(shù)據(jù)處理的效率密切相關B)數(shù)據(jù)的存儲結構與數(shù)據(jù)處理的效率無關C)數(shù)據(jù)的存儲結構在計算機中所占的空間(kōngjiān)不一定是連續(xù)的D)一種數(shù)據(jù)的邏輯結構可以有多種存儲結構70感謝(gǎnxiè)你的觀看2019年5月18日第七十頁,共78頁。1.4棧和隊列(duìliè)1.4.1棧和隊列的定義

棧和隊列是兩種特殊(tèshū)的線性表,它們是運算時要受到某些限制的線性表,故也稱為限定性的數(shù)據(jù)結構。71感謝(gǎnxiè)你的觀看2019年5月18日第七十一頁,共78頁。1.4.1.1棧的定義棧:限定只能在表的一端進行插入和刪除(shānchú)的特殊的線性表,此種結構稱為后進先出(Last_In_First_Out,簡稱LIFO)或先進后出(FILO)表設棧s=(a1,a2,...,ai,...,an),其中a1是棧底元素,an是棧頂元素。棧頂(top):允許插入和刪除(shānchú)的一端;約定top始終指向新數(shù)據(jù)元素將存放的位置。棧底(bottom):不允許插入和刪除(shānchú)的一端。

a1

a2

….

an進棧出棧棧頂棧底72感謝(gǎnxiè)你的觀看2019年5月18日第七十二頁,共78頁。隊列(duìliè)的主要運算(1)設置一個空隊列;(2)插入(chārù)一個新的隊尾元素,稱為進隊;(3)刪除隊頭元素,稱為出隊;(4)讀取隊頭元素;1.4.1.2隊列的定義定義:一種(yīzhǒnɡ)特殊的線性結構,限定只能在表的一端進行插入,在表的另一端進行刪除的線性表。此種結構稱為先進先出(FIFO)表。

a1,

a2,

a3,

a4,…………

an-1,

an隊列示意圖隊頭隊尾73感謝你的觀看2019年5月18日第七十三頁,共78頁。1.4.2棧的順序存儲結構及其基本(jīběn)運算

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論