計(jì)算機(jī)2級C公共基礎(chǔ)知識_第1頁
計(jì)算機(jī)2級C公共基礎(chǔ)知識_第2頁
計(jì)算機(jī)2級C公共基礎(chǔ)知識_第3頁
計(jì)算機(jī)2級C公共基礎(chǔ)知識_第4頁
計(jì)算機(jī)2級C公共基礎(chǔ)知識_第5頁
已閱讀5頁,還剩263頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、計(jì)算機(jī)等級考試計(jì)算機(jī)等級考試公共基礎(chǔ)知識公共基礎(chǔ)知識 第2頁計(jì)算機(jī)二級考試公共基礎(chǔ)知識計(jì)算機(jī)二級考試公共基礎(chǔ)知識大綱大綱 q 數(shù)據(jù)結(jié)構(gòu)與算法數(shù)據(jù)結(jié)構(gòu)與算法q 程序設(shè)計(jì)基礎(chǔ)程序設(shè)計(jì)基礎(chǔ)q 軟件工程基礎(chǔ)軟件工程基礎(chǔ)q 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)這四個方面在試卷中出現(xiàn)的情況是:選擇題10個(20分),填空題5個(10分),總分值占到了試卷卷面分的30,是一個不小的比例。 第3頁計(jì)算機(jī)二級考試公共基礎(chǔ)知識試卷分析計(jì)算機(jī)二級考試公共基礎(chǔ)知識試卷分析 章節(jié)章節(jié)考試時間考試時間數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)與算法與算法程序設(shè)計(jì)程序設(shè)計(jì)基礎(chǔ)基礎(chǔ)軟件工程軟件工程基礎(chǔ)基礎(chǔ)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)基礎(chǔ)2007年4月10分2分1

2、0分8分2007年9月12分4分8分6分2008年4月10分2分8分10分2008年9月10分2分8分10分2009年3月10分2分8分10分2009年9月10分2分8分10分2010年3月10分0分10分10分第4頁 算法的基算法的基本概念本概念 2.2.算法復(fù)雜算法復(fù)雜度的概念和度的概念和意義意義 數(shù)據(jù)結(jié)構(gòu)的概念數(shù)據(jù)結(jié)構(gòu)的概念 線性表線性表 棧和隊(duì)列棧和隊(duì)列 樹與二叉樹樹與二叉樹 查找技術(shù)查找技術(shù) 排序技術(shù)排序技術(shù) 對于等級考試,這個部分的考核對于等級考試,這個部分的考核重點(diǎn)主要重點(diǎn)主要在在算法和數(shù)據(jù)結(jié)構(gòu)的基本概算法和數(shù)據(jù)結(jié)構(gòu)的基本概念念、二叉樹二叉樹(遍歷、結(jié)點(diǎn)),遍歷、結(jié)點(diǎn)),還有還有

3、排序和查找排序和查找考試中也經(jīng)常會涉及到。考試中也經(jīng)常會涉及到。第5頁算法的定義算法的定義算法是程序設(shè)計(jì)的核心算法是程序設(shè)計(jì)的核心 算法是在有限步驟內(nèi)求解某一問題所使用的一組定義明確的算法是在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。通俗點(diǎn)說,就是計(jì)算機(jī)規(guī)則。通俗點(diǎn)說,就是計(jì)算機(jī)解題的過程解題的過程( (計(jì)算的方法計(jì)算的方法) )。在。在這個過程中,無論是形成解題思路這個過程中,無論是形成解題思路( (推理實(shí)現(xiàn)的算法推理實(shí)現(xiàn)的算法) )還是編還是編寫程序?qū)懗绦? (操作實(shí)現(xiàn)的算法操作實(shí)現(xiàn)的算法) ),都是在實(shí)施某種算法。,都是在實(shí)施某種算法。例:例: n個數(shù)從大到小進(jìn)行排序。個數(shù)從大到

4、小進(jìn)行排序。 有多種排序方法有多種排序方法 ,常用的有冒泡排序、選擇排序等。,常用的有冒泡排序、選擇排序等。講課講課說課說課第6頁 2 . 算法的基本特征算法的基本特征一個算法應(yīng)該具有以下五個重要的特征:一個算法應(yīng)該具有以下五個重要的特征:n 有窮性有窮性n 確定性確定性n 輸入輸入n 輸出輸出n 可行性可行性一個算法必須保證執(zhí)行有限步之后結(jié)束;算法的每一步驟必須有確切的定義;一個算法有0個或多個輸入,以刻畫運(yùn)算對象的初始情況,所謂0個輸入是指算法本身定出了初始條件;一個算法有一個或多個輸出,以反映對輸入數(shù)據(jù)加工后的結(jié)果。沒有輸出的算法是毫無意義的;算法原則上能夠精確地運(yùn)行,而且人們用筆和紙做

5、有限次運(yùn)算后即可完成 擁有足夠的情報(bào)擁有足夠的情報(bào)第7頁u 算法與計(jì)算機(jī)程序算法與計(jì)算機(jī)程序 算法算法_是一組邏輯步驟是一組邏輯步驟 程序程序用計(jì)算機(jī)語言描述的算法用計(jì)算機(jī)語言描述的算法INPUT rS=3.14 * r*rPTINT S開始開始輸入輸入R RS=3.14 * R*R輸出輸出S S結(jié)束結(jié)束問題:輸入園的半徑,計(jì)算園的面積 一個算法的表示需要使用一些語言形式。一個算法的表示需要使用一些語言形式。傳統(tǒng)的算法傳統(tǒng)的算法-圖形法,如圖形法,如“流程圖流程圖”和和N-S圖圖目前常用的方法目前常用的方法-使用偽碼描述算法。使用偽碼描述算法。第8頁冒泡排序的方法:冒泡排序的方法:1.1.掃描

6、整個線性表,逐次對相掃描整個線性表,逐次對相鄰的兩個元素進(jìn)行比較,若為鄰的兩個元素進(jìn)行比較,若為逆序,則交換;第一趟掃描的逆序,則交換;第一趟掃描的結(jié)果使最大的元素排到表的最結(jié)果使最大的元素排到表的最后后 ;2.2.除最后一個元素,對剩余的除最后一個元素,對剩余的元素重復(fù)上述過程,將次大的元素重復(fù)上述過程,將次大的數(shù)排到表的倒數(shù)第二個位置;數(shù)排到表的倒數(shù)第二個位置;3.3.重復(fù)上述過程;重復(fù)上述過程;對于長度為對于長度為n n的線性表,冒泡排的線性表,冒泡排序需要對表掃描序需要對表掃描n-1n-1遍。遍。 算法舉例:算法舉例:n個數(shù)排序個數(shù)排序第9頁4. 算法的兩個基本要素:算法的兩個基本要素

7、:n 算術(shù)運(yùn)算算術(shù)運(yùn)算n 關(guān)系運(yùn)算關(guān)系運(yùn)算n 邏輯運(yùn)算邏輯運(yùn)算n 數(shù)據(jù)傳輸數(shù)據(jù)傳輸n 順序順序n 選擇選擇n 循環(huán)循環(huán)u 一是對數(shù)據(jù)對象的運(yùn)算和操作;u 二是算法的控制結(jié)構(gòu)。u算法基本設(shè)計(jì)方法:列舉法、歸納法、遞推、遞歸、減斗遞推技術(shù)、回溯法 第10頁 評價(jià)一個算法優(yōu)劣的主要標(biāo)準(zhǔn)是算法的執(zhí)行效率和存儲需求:評價(jià)一個算法優(yōu)劣的主要標(biāo)準(zhǔn)是算法的執(zhí)行效率和存儲需求:n 時間復(fù)雜度:執(zhí)行這個算法所需要的時間復(fù)雜度:執(zhí)行這個算法所需要的計(jì)算工作量計(jì)算工作量一般可以用算法在執(zhí)行過程中所需基本運(yùn)算的執(zhí)行次數(shù)來度量計(jì)算工作量一般可以用算法在執(zhí)行過程中所需基本運(yùn)算的執(zhí)行次數(shù)來度量計(jì)算工作量n 空間復(fù)雜度:執(zhí)行這

8、個算法所需要的空間復(fù)雜度:執(zhí)行這個算法所需要的內(nèi)存空間內(nèi)存空間 算法在執(zhí)行過程中臨時占用的存儲空間算法在執(zhí)行過程中臨時占用的存儲空間 時間復(fù)雜度時間復(fù)雜度它大致等于計(jì)算機(jī)它大致等于計(jì)算機(jī)執(zhí)行一種簡單操作所需的平均時間執(zhí)行一種簡單操作所需的平均時間與算法與算法中進(jìn)行中進(jìn)行簡單操作的次數(shù)的乘積簡單操作的次數(shù)的乘積。 一個算法在計(jì)算機(jī)存儲器上所占用的存儲空間,包括一個算法在計(jì)算機(jī)存儲器上所占用的存儲空間,包括存儲算法本身所占用存儲算法本身所占用的存儲空間的存儲空間、算法中的輸入輸出數(shù)據(jù)所占用的存儲空間算法中的輸入輸出數(shù)據(jù)所占用的存儲空間和和算法在運(yùn)行過程中算法在運(yùn)行過程中臨時占用的存儲空間臨時占用的

9、存儲空間這三個部分這三個部分第11頁(1) 在計(jì)算機(jī)中,算法是指在計(jì)算機(jī)中,算法是指_。 A. 查詢方法查詢方法 B. 加工方法加工方法 C. 解題方案的準(zhǔn)確而完整的描述解題方案的準(zhǔn)確而完整的描述 D. 排序方法排序方法(2)下列敘述中正確的是下列敘述中正確的是 (07年年4月月)A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B)算法的時間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量算法的時間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的D)算法的時間復(fù)雜度與空間復(fù)雜度一定相

10、關(guān)算法的時間復(fù)雜度與空間復(fù)雜度一定相關(guān)(3)算法的有窮性是指算法的有窮性是指 (08年年4月月)A)算法程序的運(yùn)行時間是有限的)算法程序的運(yùn)行時間是有限的 B)算法程序所處理的數(shù)據(jù)量是有限的)算法程序所處理的數(shù)據(jù)量是有限的 C)算法程序的長度是有限的)算法程序的長度是有限的 D)算法只能被有限的用戶使用)算法只能被有限的用戶使用(c)(B)算法習(xí)題:(A)第12頁(4) 算法的時問復(fù)雜度是指算法的時問復(fù)雜度是指 (2010年年3月月)A)算法的執(zhí)行時間算法的執(zhí)行時間B)算法所處理的數(shù)據(jù)量算法所處理的數(shù)據(jù)量C)算法程序中的語句或指令條數(shù)算法程序中的語句或指令條數(shù)D)算法在執(zhí)行過程中所需要的基本運(yùn)

11、算次數(shù)算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)(5) 算法的空間復(fù)雜度是指算法的空間復(fù)雜度是指 (09年年9月月) A)算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲空間)算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲空間B)算法所處理的數(shù)據(jù)量)算法所處理的數(shù)據(jù)量C)算法程序中的語句或指令條數(shù))算法程序中的語句或指令條數(shù)D)算法在執(zhí)行過程中所需要的臨時工作單元數(shù))算法在執(zhí)行過程中所需要的臨時工作單元數(shù)(6) 下列敘述中正確的是下列敘述中正確的是 (06年年9月月)A)一個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大)一個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大B)一個算法的空間復(fù)雜度大,則其時間復(fù)雜度必定小)一個算法的空

12、間復(fù)雜度大,則其時間復(fù)雜度必定小C)一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小)一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小 D)上述三種說法都不對)上述三種說法都不對(D)計(jì)算工作量(A)(D)u 算法的時間復(fù)雜度是指算法的時間復(fù)雜度是指A) 執(zhí)行算法程序所需要的時間執(zhí)行算法程序所需要的時間 B) 算法程序的長度算法程序的長度C) 算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù) D) 算法程序中的指令條數(shù)算法程序中的指令條數(shù)u 算法的基本特征是可行性、確定性、算法的基本特征是可行性、確定性、 【1】 和擁有足夠的情報(bào)。和擁有足夠的情報(bào)。u 算法的空間復(fù)雜度是指算法的空

13、間復(fù)雜度是指 A) 算法程序的長度算法程序的長度 B) 算法程序中的指令條數(shù)算法程序中的指令條數(shù) C) 算法程序所占的存儲空間算法程序所占的存儲空間 D) 執(zhí)行過程中所需要的存儲空間執(zhí)行過程中所需要的存儲空間u 在計(jì)算機(jī)中,算法是指在計(jì)算機(jī)中,算法是指 A) 加工方法加工方法B) 解題方案的準(zhǔn)確而完整的描述解題方案的準(zhǔn)確而完整的描述 C) 排序方法排序方法D) 查詢方法查詢方法例題講解例題講解有窮性有窮性u 算法分析的目的是算法分析的目的是 A) 找出數(shù)據(jù)結(jié)構(gòu)的合理性找出數(shù)據(jù)結(jié)構(gòu)的合理性 B) 找出算法中輸入和輸找出算法中輸入和輸出之間的關(guān)系出之間的關(guān)系 C) 分析算法的易懂性和可靠性分析算法

14、的易懂性和可靠性 D) 分析算法的效率分析算法的效率以求改進(jìn)以求改進(jìn)u 算法的工作量大小和實(shí)現(xiàn)算法所需的存儲單元多少算法的工作量大小和實(shí)現(xiàn)算法所需的存儲單元多少分別稱為算法的分別稱為算法的 【1】 。時間復(fù)雜度和空間復(fù)雜度時間復(fù)雜度和空間復(fù)雜度第15頁 計(jì)算機(jī)在進(jìn)行數(shù)據(jù)處理時,實(shí)際需要處理的數(shù)據(jù)元素一般有計(jì)算機(jī)在進(jìn)行數(shù)據(jù)處理時,實(shí)際需要處理的數(shù)據(jù)元素一般有很多,而這些大量的數(shù)據(jù)元素都需要存放在計(jì)算機(jī)中,因此,大量很多,而這些大量的數(shù)據(jù)元素都需要存放在計(jì)算機(jī)中,因此,大量的的數(shù)據(jù)元素在計(jì)算機(jī)中如何組織,以便提高數(shù)據(jù)處理的效率,并且數(shù)據(jù)元素在計(jì)算機(jī)中如何組織,以便提高數(shù)據(jù)處理的效率,并且節(jié)省計(jì)算機(jī)

15、的存儲空間,節(jié)省計(jì)算機(jī)的存儲空間,這是進(jìn)行數(shù)據(jù)處理的關(guān)鍵問題。這是進(jìn)行數(shù)據(jù)處理的關(guān)鍵問題。程序程序=算法算法+數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。 一般來說,人們不會同時處理特征完全不同且互相之間沒有任何關(guān)系的各類數(shù)據(jù)元素,對于具有不同特征的數(shù)據(jù)元素總是分別進(jìn)行處理。一般情況下,在具有相同特征的數(shù)據(jù)元素集合中,各個數(shù)據(jù)一般情況下,在具有相同特征的數(shù)據(jù)元素集合中,各個數(shù)據(jù)元素之間存在有某種關(guān)系(即元素之間存在有某種關(guān)系(即聯(lián)系)聯(lián)系),這種關(guān)系反映了該集,這種關(guān)系反映了該集合中的數(shù)據(jù)元素所固有的一種結(jié)構(gòu)。合中的數(shù)據(jù)元素所固有的一種結(jié)構(gòu)。

16、超市的物品如何超市的物品如何存放才好找且節(jié)存放才好找且節(jié)省空間呢?省空間呢?第16頁二二. 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)和數(shù)據(jù)之間關(guān)系的一門學(xué)科,它數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)和數(shù)據(jù)之間關(guān)系的一門學(xué)科,它包括三個方面。包括三個方面。(1)數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,)數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);即數(shù)據(jù)的邏輯結(jié)構(gòu);(2)在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計(jì)算機(jī)中)在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲關(guān)系,即數(shù)據(jù)的存儲結(jié)構(gòu);的存儲關(guān)系,即數(shù)據(jù)的存儲結(jié)構(gòu);(3)對各種數(shù)據(jù)

17、結(jié)構(gòu)進(jìn)行的運(yùn)算。)對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。第17頁u 1. 邏輯結(jié)構(gòu)邏輯結(jié)構(gòu) 數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)包含:數(shù)據(jù)的邏輯結(jié)構(gòu)包含:(1)表示數(shù)據(jù)元素的信息;)表示數(shù)據(jù)元素的信息;(2)表示各數(shù)據(jù)元素之間的前后件關(guān)系。)表示各數(shù)據(jù)元素之間的前后件關(guān)系。例:例:1. 一年四季的數(shù)據(jù)結(jié)構(gòu)一年四季的數(shù)據(jù)結(jié)構(gòu) B=(D,R) D=春,夏,秋,冬春,夏,秋,冬 R=(春,夏春,夏) ,(夏,秋夏,秋),(秋,冬秋,冬)2. 家庭成員的數(shù)據(jù)結(jié)構(gòu)家庭成員的數(shù)據(jù)結(jié)構(gòu) B=(D,R) D=父親,兒子,女兒父親,兒子,

18、女兒 R=(父親,兒子父親,兒子) ,(父親,女兒父親,女兒)春夏秋冬數(shù)據(jù)結(jié)構(gòu)的圖形表示數(shù)據(jù)結(jié)構(gòu)的圖形表示父親兒子女兒第18頁u常見的常見的邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)有:有:線性結(jié)構(gòu)、樹形結(jié)構(gòu)和圖形結(jié)構(gòu)。線性結(jié)構(gòu)、樹形結(jié)構(gòu)和圖形結(jié)構(gòu)。線性結(jié)構(gòu)線性結(jié)構(gòu)樹形結(jié)構(gòu)樹形結(jié)構(gòu)圖形結(jié)構(gòu)圖形結(jié)構(gòu)u 線性結(jié)構(gòu)線性結(jié)構(gòu) 結(jié)構(gòu)中的每個元素之間存在結(jié)構(gòu)中的每個元素之間存在一個對一個的關(guān)系一個對一個的關(guān)系;u 樹形結(jié)構(gòu)樹形結(jié)構(gòu) 結(jié)構(gòu)中的每個元素之間存在結(jié)構(gòu)中的每個元素之間存在一個對多個的關(guān)系一個對多個的關(guān)系;u 圖形結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)圖形結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu) 結(jié)構(gòu)中的每個元素之間存在結(jié)構(gòu)中的每個元素之間存在多個對多個的關(guān)系多個對多個的關(guān)

19、系。其中,其中,樹形結(jié)構(gòu)和圖形結(jié)構(gòu)統(tǒng)稱為非線形結(jié)構(gòu)樹形結(jié)構(gòu)和圖形結(jié)構(gòu)統(tǒng)稱為非線形結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)可以。數(shù)據(jù)的邏輯結(jié)構(gòu)可以用二元關(guān)系表示,也可以直觀地用圖形來表示。用二元關(guān)系表示,也可以直觀地用圖形來表示。第19頁u 2. 存儲結(jié)構(gòu)(物理結(jié)構(gòu)存儲結(jié)構(gòu)(物理結(jié)構(gòu)) 計(jì)算機(jī)在實(shí)際進(jìn)行數(shù)據(jù)處理時,被處理的各數(shù)據(jù)元素總是被存放在計(jì)計(jì)算機(jī)在實(shí)際進(jìn)行數(shù)據(jù)處理時,被處理的各數(shù)據(jù)元素總是被存放在計(jì)算機(jī)的存儲空間中,并且,各數(shù)據(jù)元素在計(jì)算機(jī)存儲空間中的位置與算機(jī)的存儲空間中,并且,各數(shù)據(jù)元素在計(jì)算機(jī)存儲空間中的位置與它們的邏輯關(guān)系不一定是相同的,而且一般也不可能相同。它們的邏輯關(guān)系不一定是相同的,而且一般也不

20、可能相同。如:如:一年四季 家庭成員 計(jì)算機(jī)存儲空間怎樣存放? 存儲結(jié)構(gòu)指數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的具體實(shí)現(xiàn)。存儲結(jié)構(gòu)指數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的具體實(shí)現(xiàn)。常見的存儲結(jié)構(gòu)有:常見的存儲結(jié)構(gòu)有:n 順序存儲結(jié)構(gòu)順序存儲結(jié)構(gòu)n 鏈?zhǔn)酱鎯Y(jié)構(gòu)鏈?zhǔn)酱鎯Y(jié)構(gòu)n 索引存儲結(jié)構(gòu)索引存儲結(jié)構(gòu)只抽象地反映數(shù)據(jù)元素之間的關(guān)系的結(jié)構(gòu),只抽象地反映數(shù)據(jù)元素之間的關(guān)系的結(jié)構(gòu),而不管其存儲方式的數(shù)據(jù)結(jié)構(gòu)稱為邏輯結(jié)而不管其存儲方式的數(shù)據(jù)結(jié)構(gòu)稱為邏輯結(jié)構(gòu)。構(gòu)。一種一種數(shù)據(jù)結(jié)構(gòu)可以根據(jù)需要表示成一種或數(shù)據(jù)結(jié)構(gòu)可以根據(jù)需要表示成一種或多種存儲結(jié)構(gòu)多種存儲結(jié)構(gòu)。第20頁u 3. 數(shù)據(jù)的運(yùn)算數(shù)據(jù)的運(yùn)算n 檢索檢索n 插入插入n

21、刪除刪除n 更新更新n 排序排序 通常,一個數(shù)據(jù)結(jié)構(gòu)中的元素結(jié)點(diǎn)可能是動態(tài)變化的。根據(jù)需要通常,一個數(shù)據(jù)結(jié)構(gòu)中的元素結(jié)點(diǎn)可能是動態(tài)變化的。根據(jù)需要或在處理過程中,可以在一個數(shù)據(jù)結(jié)構(gòu)中增加一個新結(jié)點(diǎn)(插入運(yùn)或在處理過程中,可以在一個數(shù)據(jù)結(jié)構(gòu)中增加一個新結(jié)點(diǎn)(插入運(yùn)算),也可以刪除某個結(jié)點(diǎn)(刪除運(yùn)算),除此之外,對數(shù)據(jù)結(jié)構(gòu)算),也可以刪除某個結(jié)點(diǎn)(刪除運(yùn)算),除此之外,對數(shù)據(jù)結(jié)構(gòu)的運(yùn)算還有查找、分類、合并、分解、復(fù)制和修改。的運(yùn)算還有查找、分類、合并、分解、復(fù)制和修改。 在對數(shù)據(jù)結(jié)構(gòu)的處理過程中,不僅數(shù)據(jù)結(jié)構(gòu)中結(jié)點(diǎn)的個數(shù)在動態(tài)在對數(shù)據(jù)結(jié)構(gòu)的處理過程中,不僅數(shù)據(jù)結(jié)構(gòu)中結(jié)點(diǎn)的個數(shù)在動態(tài)變化,而且,各數(shù)

22、據(jù)元素之間的關(guān)系也有可能在動態(tài)地變化。變化,而且,各數(shù)據(jù)元素之間的關(guān)系也有可能在動態(tài)地變化。如:無序表變有序表數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)和數(shù)據(jù)之?dāng)?shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)和數(shù)據(jù)之間關(guān)系的一門學(xué)科,研究以下三間關(guān)系的一門學(xué)科,研究以下三方面內(nèi)容:方面內(nèi)容:n 數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)的邏輯結(jié)構(gòu)n 數(shù)據(jù)的存儲結(jié)構(gòu)數(shù)據(jù)的存儲結(jié)構(gòu)n 數(shù)據(jù)的運(yùn)算數(shù)據(jù)的運(yùn)算父親兒子女兒第第21 21|92|92頁頁常見的數(shù)據(jù)結(jié)構(gòu)常見的數(shù)據(jù)結(jié)構(gòu)u 數(shù)據(jù)結(jié)構(gòu)分類數(shù)據(jù)結(jié)構(gòu)分類 線性結(jié)構(gòu)與非線性結(jié)構(gòu)線性結(jié)構(gòu)與非線性結(jié)構(gòu)兩大類型線性結(jié)構(gòu):一個非空的數(shù)據(jù)結(jié)構(gòu)若滿足下面的兩個條件,則一個非空的數(shù)據(jù)結(jié)構(gòu)若滿足下面的兩個條件,則這種數(shù)據(jù)結(jié)構(gòu)即為這種數(shù)據(jù)結(jié)構(gòu)即為

23、。 有且僅有一個根結(jié)點(diǎn);有且僅有一個根結(jié)點(diǎn); 除第一個結(jié)點(diǎn)外,每一個結(jié)點(diǎn)最多有一個前件;除第一個結(jié)點(diǎn)外,每一個結(jié)點(diǎn)最多有一個前件; 除最后一個結(jié)點(diǎn)外,每一個結(jié)點(diǎn)最多有一個后件。除最后一個結(jié)點(diǎn)外,每一個結(jié)點(diǎn)最多有一個后件。常見的線性結(jié)構(gòu)有:常見的線性結(jié)構(gòu)有:第第2222|92|92頁頁a1a2a5a3a4HEAD319510線性鏈表的邏輯狀態(tài)線性鏈表的邏輯狀態(tài)常見的非線性結(jié)構(gòu)有樹、常見的非線性結(jié)構(gòu)有樹、非線性結(jié)構(gòu)一個數(shù)據(jù)結(jié)構(gòu)不是線性結(jié)構(gòu)。一個數(shù)據(jù)結(jié)構(gòu)不是線性結(jié)構(gòu)。第23頁 線性表是由線性表是由n(n0)個數(shù)據(jù)元素)個數(shù)據(jù)元素 a1,a2,ai,an組成的一個有限序列。組成的一個有限序列。春春夏夏

24、秋秋冬冬記錄記錄1 02011001 張三張三 男男記錄記錄2 02011003 李四李四 女女 記錄記錄3記錄記錄4第24頁特點(diǎn):特點(diǎn): 順序存儲結(jié)構(gòu)把順序存儲結(jié)構(gòu)把邏輯上相邏輯上相鄰鄰的數(shù)據(jù)元素存儲在的數(shù)據(jù)元素存儲在物理上相鄰物理上相鄰的存儲單元里,順序存儲結(jié)構(gòu)的存儲單元里,順序存儲結(jié)構(gòu)只只存儲結(jié)點(diǎn)的值存儲結(jié)點(diǎn)的值,不存儲結(jié)點(diǎn)間的,不存儲結(jié)點(diǎn)間的關(guān)系,結(jié)點(diǎn)間的關(guān)系由存儲單元關(guān)系,結(jié)點(diǎn)間的關(guān)系由存儲單元的鄰接關(guān)系來體現(xiàn)。的鄰接關(guān)系來體現(xiàn)。a1a2aian存儲地址存儲地址200020042000+4*(i-1)2000+4*(n-1)占占4個字節(jié)個字節(jié)第i個數(shù)的地址第一個數(shù)的地址L為該類型數(shù)所

25、占的字節(jié)線性表的存儲結(jié)構(gòu)有兩種:線性表的存儲結(jié)構(gòu)有兩種:u 順序存儲結(jié)構(gòu)順序存儲結(jié)構(gòu)u 鏈?zhǔn)酱鎯Y(jié)構(gòu)鏈?zhǔn)酱鎯Y(jié)構(gòu)第25頁u 順序表的插入運(yùn)算順序表的插入運(yùn)算u 順序表的刪除運(yùn)算順序表的刪除運(yùn)算 在線性表順序存儲情況下,要插入或刪除一個元在線性表順序存儲情況下,要插入或刪除一個元素,都會由于數(shù)據(jù)元素的移動而消耗大量的處理時間,素,都會由于數(shù)據(jù)元素的移動而消耗大量的處理時間,所以這種存儲方式對于小線性表或其中數(shù)據(jù)元素不經(jīng)所以這種存儲方式對于小線性表或其中數(shù)據(jù)元素不經(jīng)常變動的線性表是合適的。常變動的線性表是合適的。線性表的順序存儲結(jié)構(gòu)稱為順序表。線性表的順序存儲結(jié)構(gòu)稱為順序表。第26頁插入運(yùn)算插入運(yùn)

26、算ai-1.a2a1alengthai+1ai xai-1.a2a1alengthai+1ai X 插入算法的分析插入算法的分析: : 假設(shè)線性表中含有假設(shè)線性表中含有n n個數(shù)據(jù)元素,在進(jìn)行插入操作時,若假個數(shù)據(jù)元素,在進(jìn)行插入操作時,若假定在定在n+1n+1個位置上插入元素的可能性均等,則平均移動元素的個數(shù)為:個位置上插入元素的可能性均等,則平均移動元素的個數(shù)為:1n1iis2n1)i(n1n1E第27頁 刪除運(yùn)算刪除運(yùn)算ai-1.a2a1alengthai+1aiai-1.a2a1alengthai+1刪除算法的分析刪除算法的分析: : 在進(jìn)行刪除操作時,若假定刪除每個元素的可能性均等,

27、則在進(jìn)行刪除操作時,若假定刪除每個元素的可能性均等,則平均移動元素的個數(shù)為:平均移動元素的個數(shù)為:總結(jié)總結(jié): : 順序存儲結(jié)構(gòu)表示的線性表,在做插入或刪除操作時,平均需要移順序存儲結(jié)構(gòu)表示的線性表,在做插入或刪除操作時,平均需要移動大約一半的數(shù)據(jù)元素。當(dāng)線性表的數(shù)據(jù)元素量較大,并且經(jīng)常要對其做動大約一半的數(shù)據(jù)元素。當(dāng)線性表的數(shù)據(jù)元素量較大,并且經(jīng)常要對其做插入或刪除操作時,這一點(diǎn)需要值得考慮。插入或刪除操作時,這一點(diǎn)需要值得考慮。n1idl21ni)(nn1E第28頁u 線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表。線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表。u 鏈?zhǔn)酱鎯Y(jié)構(gòu)不要求邏輯上相鄰的數(shù)據(jù)元素物理位置也相鄰

28、,鏈?zhǔn)酱鎯Y(jié)構(gòu)不要求邏輯上相鄰的數(shù)據(jù)元素物理位置也相鄰,而且各數(shù)據(jù)元素的存儲順序也是任意的。各數(shù)據(jù)元素的先后而且各數(shù)據(jù)元素的存儲順序也是任意的。各數(shù)據(jù)元素的先后關(guān)系是由各結(jié)點(diǎn)的指針域指示。關(guān)系是由各結(jié)點(diǎn)的指針域指示。u 鏈?zhǔn)酱鎯Y(jié)構(gòu)的每一個存儲結(jié)點(diǎn)不僅存儲結(jié)點(diǎn)的值,而且存鏈?zhǔn)酱鎯Y(jié)構(gòu)的每一個存儲結(jié)點(diǎn)不僅存儲結(jié)點(diǎn)的值,而且存儲結(jié)點(diǎn)之間的關(guān)系:儲結(jié)點(diǎn)之間的關(guān)系:u 鏈?zhǔn)酱鎯Y(jié)構(gòu)分為單鏈表、雙向鏈表、循環(huán)鏈表鏈?zhǔn)酱鎯Y(jié)構(gòu)分為單鏈表、雙向鏈表、循環(huán)鏈表u 線性鏈表不能隨機(jī)存取線性鏈表不能隨機(jī)存取數(shù)據(jù)域數(shù)據(jù)域指針域指針域第29頁設(shè)線性表為設(shè)線性表為(a1,a2,a3,a4,a5)1a2923a1145a

29、4106789a3510a50HEAD3a1a2a5a3a4HEAD319510線性鏈表的邏輯狀態(tài)線性鏈表的邏輯狀態(tài)線性鏈表線性鏈表的物理狀態(tài)的物理狀態(tài)1 a12 a23 a34 a45 a567注意:1 2 3 此類編號不代表所在的地址單元的地址編碼線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)及其插入與刪除操作及其插入與刪除操作第30頁zhaoqiansunlizhouwuzhengwang /H存儲地址存儲地址數(shù)據(jù)數(shù)據(jù)17131925313743liqiansunwangwuzhaozhengzhou指針指針43131null377192531頭指針頭指針單鏈表單鏈表第31頁單鏈表的插入運(yùn)算單

30、鏈表的插入運(yùn)算在在P所指向的結(jié)點(diǎn)之后插入所指向的結(jié)點(diǎn)之后插入新的結(jié)點(diǎn)新的結(jié)點(diǎn)單鏈表單鏈表刪除運(yùn)算刪除運(yùn)算PbaxSbaPLaaian ai-1ai+1要求要求:刪除結(jié)點(diǎn)刪除結(jié)點(diǎn)ai。第32頁循環(huán)鏈表循環(huán)鏈表: 首尾相接的鏈表。首尾相接的鏈表。 將最后一個結(jié)點(diǎn)的空指針改為指向頭結(jié)點(diǎn),從任一結(jié)點(diǎn)出發(fā)均可找到其將最后一個結(jié)點(diǎn)的空指針改為指向頭結(jié)點(diǎn),從任一結(jié)點(diǎn)出發(fā)均可找到其它結(jié)點(diǎn)它結(jié)點(diǎn)。a1a2ana3L.帶頭結(jié)點(diǎn)的單鏈表帶頭結(jié)點(diǎn)的單鏈表a1a2ana3L.循環(huán)單鏈表循環(huán)單鏈表特點(diǎn)特點(diǎn): 可以從任何一個結(jié)點(diǎn)開始訪問鏈表的所有結(jié)點(diǎn)可以從任何一個結(jié)點(diǎn)開始訪問鏈表的所有結(jié)點(diǎn).第33頁雙向鏈表的存儲結(jié)構(gòu)雙向鏈

31、表的存儲結(jié)構(gòu) 在每個結(jié)點(diǎn)中設(shè)置兩個指針,一個指向后繼,一個指向前驅(qū)。可直接在每個結(jié)點(diǎn)中設(shè)置兩個指針,一個指向后繼,一個指向前驅(qū)。可直接確定一個結(jié)點(diǎn)的前驅(qū)和后繼結(jié)點(diǎn)。可提高效率。確定一個結(jié)點(diǎn)的前驅(qū)和后繼結(jié)點(diǎn)。可提高效率。HEAD31510 a2 a3 a4 a1提問:單向鏈表的缺點(diǎn)是什么? 提示:如何尋找結(jié)點(diǎn)的直接前趨。 雙向鏈表可以克服單鏈表的單向性的缺點(diǎn)。 在雙向鏈表的結(jié)點(diǎn)中有兩個指針域,其一指向直接后繼,另一在雙向鏈表的結(jié)點(diǎn)中有兩個指針域,其一指向直接后繼,另一指向直接前趨。指向直接前趨。 雙向循環(huán)鏈表雙向循環(huán)鏈表 第34頁u 線性表的應(yīng)用:應(yīng)用最廣的數(shù)據(jù)結(jié)構(gòu)。線性表的應(yīng)用:應(yīng)用最廣的數(shù)據(jù)

32、結(jié)構(gòu)。u .高級語言中的數(shù)組;高級語言中的數(shù)組;u 計(jì)算機(jī)的文件系統(tǒng);計(jì)算機(jī)的文件系統(tǒng);u 計(jì)算機(jī)的目錄系統(tǒng);計(jì)算機(jī)的目錄系統(tǒng);u 電話號碼查詢系統(tǒng)(可采用順序表或單鏈表結(jié)電話號碼查詢系統(tǒng)(可采用順序表或單鏈表結(jié)構(gòu)構(gòu)););u 各種事務(wù)處理(各種事務(wù)處理(可采用順序表或單鏈表結(jié)構(gòu)可采用順序表或單鏈表結(jié)構(gòu));第35頁棧和隊(duì)列棧和隊(duì)列是兩種特殊的線性表,它們是運(yùn)算時是兩種特殊的線性表,它們是運(yùn)算時要受到某些限制的線性表,故也稱為要受到某些限制的線性表,故也稱為限定性限定性的數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)。第36頁1 .棧棧棧棧是限定僅在表尾進(jìn)行插入或刪除操作的線性表。是限定僅在表尾進(jìn)行插入或刪除操作的線性表。

33、棧頂棧頂表尾。表尾。棧底棧底表頭。表頭。空棧空棧不含元素的空表。不含元素的空表。a1a2an棧底棧底棧頂棧頂進(jìn)棧進(jìn)棧出棧出棧棧棧s=(a1,a2,an)后進(jìn)先出或先后進(jìn)先出或先進(jìn)后出(進(jìn)后出(LIFO)第37頁u棧的物理存儲結(jié)構(gòu)可以用順序結(jié)構(gòu),也可以用鏈表?xiàng)5奈锢泶鎯Y(jié)構(gòu)可以用順序結(jié)構(gòu),也可以用鏈表結(jié)構(gòu)。結(jié)構(gòu)。u下面討論順序存儲結(jié)構(gòu)中棧元素的插入和刪除運(yùn)算。下面討論順序存儲結(jié)構(gòu)中棧元素的插入和刪除運(yùn)算。n 順序棧的進(jìn)棧和出棧運(yùn)算順序棧的進(jìn)棧和出棧運(yùn)算 n棧的基本運(yùn)算有三種:入棧、退棧和讀棧頂元素棧的基本運(yùn)算有三種:入棧、退棧和讀棧頂元素 在順序棧中插入和刪除運(yùn)算不需要在順序棧中插入和刪除運(yùn)算不

34、需要移動表中其他數(shù)據(jù)元素移動表中其他數(shù)據(jù)元素。第38頁2. 棧的順序存儲結(jié)構(gòu)及其基本運(yùn)算棧的順序存儲結(jié)構(gòu)及其基本運(yùn)算 a2 a1 a1 a2 top 用順序存儲結(jié)構(gòu)表示的棧用順序存儲結(jié)構(gòu)表示的棧: 順序棧用一組連續(xù)的存儲單元存放自棧底到棧頂?shù)捻樞驐S靡唤M連續(xù)的存儲單元存放自棧底到棧頂?shù)臄?shù)據(jù)元素,一般用一維數(shù)組表示,設(shè)置一個簡單變量數(shù)據(jù)元素,一般用一維數(shù)組表示,設(shè)置一個簡單變量top指示指示棧頂位置,稱為棧頂位置,稱為針棧頂指針棧頂指,它始終指向待插入元素的位置。它始終指向待插入元素的位置。基本運(yùn)算:基本運(yùn)算:壓(進(jìn))棧:壓(進(jìn))棧:PUSH出棧:出棧:POP讀棧頂元素:讀棧頂元素:gettop

35、第39頁例子:例子:topbaseEDCBAtopbaseCBAbasetopAbasetop空桟:空桟:topbase非空桟:非空桟:top始終在桟頂元素的后一個位置始終在桟頂元素的后一個位置桟的元素個數(shù):桟的元素個數(shù):top-base上溢上溢下溢下溢第40頁2 2、隊(duì)列、隊(duì)列定義:定義:一種特殊的線性結(jié)構(gòu),限定只能在表的一端進(jìn)行插入,一種特殊的線性結(jié)構(gòu),限定只能在表的一端進(jìn)行插入,在在 表的另一端進(jìn)行刪除的線性表表的另一端進(jìn)行刪除的線性表 。此種結(jié)構(gòu)稱為。此種結(jié)構(gòu)稱為先進(jìn)先出先進(jìn)先出(FIFO)表。)表。 a1 , a2 , a3 , a4 , an-1 , an 隊(duì)隊(duì) 列列 示示 意意

36、圖圖隊(duì)頭隊(duì)頭隊(duì)尾隊(duì)尾先進(jìn)先出先進(jìn)先出后進(jìn)后出后進(jìn)后出(LIFO)第41頁 e3 e4 (c)e1,e2出隊(duì),出隊(duì),e4入隊(duì)入隊(duì) 隊(duì)隊(duì) 滿滿rear =3front e1 e2 e3 (b)rearfront(b)e1,e2,e3入隊(duì)入隊(duì)隊(duì)列的順序存儲結(jié)構(gòu)及其基本運(yùn)算隊(duì)列的順序存儲結(jié)構(gòu)及其基本運(yùn)算 3 2 1 0 (a)rear=front=-1(隊(duì)空)隊(duì)空)rearfront空隊(duì)列空隊(duì)列:非空隊(duì)列非空隊(duì)列:隊(duì)列元素個數(shù)隊(duì)列元素個數(shù):rear=front=-1front始終指向隊(duì)頭元素前一個位置,而始終指向隊(duì)頭元素前一個位置,而rear始終指向隊(duì)始終指向隊(duì)尾元素的位置尾元素的位置rear-fro

37、nt第42頁 隊(duì)列的物理存儲結(jié)構(gòu)可以用順序結(jié)構(gòu),也可以用鏈?zhǔn)浇Y(jié)隊(duì)列的物理存儲結(jié)構(gòu)可以用順序結(jié)構(gòu),也可以用鏈?zhǔn)浇Y(jié)構(gòu)。構(gòu)。u 順序隊(duì)列的運(yùn)算順序隊(duì)列的運(yùn)算 棧有三種操作:棧有三種操作: 入棧出棧讀棧頂元素入棧出棧讀棧頂元素隊(duì)列有三種操作:入隊(duì)出隊(duì)讀隊(duì)首元素隊(duì)列有三種操作:入隊(duì)出隊(duì)讀隊(duì)首元素例:有入棧元素序列:例:有入棧元素序列:ABCD,求可能的出棧序列,求可能的出棧序列如是隊(duì)列又是什么情況呢?如是隊(duì)列又是什么情況呢?第43頁 把隊(duì)列的存儲空間在邏輯上看作一個環(huán),當(dāng)把隊(duì)列的存儲空間在邏輯上看作一個環(huán),當(dāng)R指向存指向存儲空間的末端后,就把它重新置于始端。儲空間的末端后,就把它重新置于始端。u 循環(huán)隊(duì)

38、列的運(yùn)算循環(huán)隊(duì)列的運(yùn)算進(jìn)行刪除的一端稱做隊(duì)首進(jìn)行刪除的一端稱做隊(duì)首(front)。隊(duì)列中進(jìn)行插入的一端稱做隊(duì)列中進(jìn)行插入的一端稱做隊(duì)尾隊(duì)尾(rear),習(xí)題:數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),循環(huán)隊(duì)習(xí)題:數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),循環(huán)隊(duì)列屬于列屬于【 】結(jié)構(gòu)。(結(jié)構(gòu)。(2005年年9月)月)答案:答案:存儲結(jié)構(gòu)。存儲結(jié)構(gòu)。第44頁frontrearMaxsize-101 e3 e4 rear =3front第45頁0012345frontABCDEFrear上溢上溢0012345frontrear下溢下溢front=rear隊(duì)滿隊(duì)滿front=rear隊(duì)空隊(duì)空第46頁數(shù)據(jù)存儲結(jié)構(gòu)方面的考題

39、數(shù)據(jù)存儲結(jié)構(gòu)方面的考題 1:數(shù)據(jù)的存儲結(jié)構(gòu)是指:數(shù)據(jù)的存儲結(jié)構(gòu)是指 (2005年年4月)月)A) 存儲在外存中的數(shù)據(jù)存儲在外存中的數(shù)據(jù) B) 數(shù)據(jù)所占的存儲空間量數(shù)據(jù)所占的存儲空間量C) 數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式 D) 數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示2. 下列敘述中正確的是下列敘述中正確的是 (2009年年3月)月) A)棧是)棧是“先進(jìn)先出先進(jìn)先出”的線性表的線性表 B)隊(duì)列是)隊(duì)列是“先進(jìn)后出先進(jìn)后出”的線性表的線性表 C)循環(huán)隊(duì)列是非線性結(jié)構(gòu))循環(huán)隊(duì)列是非線性結(jié)構(gòu) D)有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu))

40、有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu) 3. 數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于 。4. 下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是A)循環(huán)隊(duì)列)循環(huán)隊(duì)列 B) 帶鏈隊(duì)列帶鏈隊(duì)列C) 二叉樹二叉樹 D)帶鏈棧)帶鏈棧答案:答案:D。答案:答案:D。答案:線性結(jié)構(gòu)。答案:線性結(jié)構(gòu)。答案:答案:c第47頁5。下列敘述中正確的是(下列敘述中正確的是( )。)。 (2008年年9月)月) A)順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空)順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空

41、間不一定是連續(xù)的間不一定是連續(xù)的 B)順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性)順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)結(jié)構(gòu) C)順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表)順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表 D)鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間)鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間答案:答案:A。6 6。下列關(guān)于棧的敘述正確的是。下列關(guān)于棧的敘述正確的是 (2008年年4月)月) A A)棧按)棧按“先進(jìn)先出先進(jìn)先出”組織數(shù)據(jù)組織數(shù)據(jù) B)B)棧按棧按“先進(jìn)后出先進(jìn)后出”組織數(shù)據(jù)組織數(shù)據(jù) C C)只能在棧底插入數(shù)據(jù))只能在棧底插

42、入數(shù)據(jù) D D)不能刪除數(shù)據(jù))不能刪除數(shù)據(jù) 答案:答案:B。7. 一個隊(duì)列的初始狀態(tài)為空。現(xiàn)將元素一個隊(duì)列的初始狀態(tài)為空。現(xiàn)將元素A,B,C,D,E,F(xiàn),5,4,3,2,1依次入隊(duì),然后再依次退隊(duì),則元素退隊(duì)的順序?yàn)橐来稳腙?duì),然后再依次退隊(duì),則元素退隊(duì)的順序?yàn)?【1】 。(。(2010年年3月)月) 答案:答案:A,B,C,D,E,F(xiàn),5,4,3,2,1第48頁9. 設(shè)某循環(huán)隊(duì)列的容量為設(shè)某循環(huán)隊(duì)列的容量為50,如果頭指針,如果頭指針front=45(指向指向隊(duì)頭元素的前一位置隊(duì)頭元素的前一位置),尾指針,尾指針rear=10(指向隊(duì)尾元素指向隊(duì)尾元素),則該循環(huán)隊(duì)列中共有則該循環(huán)隊(duì)列中共有

43、【2】 個元素。個元素。 (2010年年3月)月) 8。假設(shè)用一個長度為。假設(shè)用一個長度為50的數(shù)組(數(shù)組元索的下標(biāo)從的數(shù)組(數(shù)組元索的下標(biāo)從0到到49)作為棧的存儲空間,棧底指針)作為棧的存儲空間,棧底指針bottom指間棧底指間棧底元素,棧頂指針元素,棧頂指針top指向棧頂元素,如果指向棧頂元素,如果bottom=49,top=30(數(shù)組下標(biāo)),則棧中具有(數(shù)組下標(biāo)),則棧中具有【 】個元素。個元素。 (2009年年3月)月) 答案:答案:19答案:答案:154650110u鏈表不具有的特點(diǎn)是鏈表不具有的特點(diǎn)是A) 不必事先估計(jì)存儲空間不必事先估計(jì)存儲空間 B) 可隨機(jī)訪問任一元素可隨機(jī)訪

44、問任一元素C) 插入刪除不需要移動元素插入刪除不需要移動元素D) 所需空間與線性表長度成正比所需空間與線性表長度成正比u數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于 【1】 。 u數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的 A) 存儲結(jié)構(gòu)存儲結(jié)構(gòu)B) 物理結(jié)構(gòu)物理結(jié)構(gòu) C) 邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)D) 物理和存儲結(jié)構(gòu)物理和存儲結(jié)構(gòu) u數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和 【1】 兩大類。兩大類。u數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)的存儲結(jié)構(gòu)是指A)數(shù)據(jù)所占的存儲空間)數(shù)據(jù)所占的存儲空間B)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)

45、中的表示)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示C)數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式)數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式D)存儲在外存中的數(shù)據(jù))存儲在外存中的數(shù)據(jù) 例題講解例題講解存儲結(jié)構(gòu)存儲結(jié)構(gòu) 非線性結(jié)構(gòu)非線性結(jié)構(gòu)u 順序存儲方法是把邏輯上相鄰的結(jié)點(diǎn)存儲在物理位置順序存儲方法是把邏輯上相鄰的結(jié)點(diǎn)存儲在物理位置 【2】 的存儲單元的存儲單元中。中。 u 數(shù)據(jù)處理的最小單位是數(shù)據(jù)處理的最小單位是 A) 數(shù)據(jù)數(shù)據(jù) B) 數(shù)據(jù)元素?cái)?shù)據(jù)元素 C) 數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)D) 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)u 數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對各種數(shù)數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行

46、的運(yùn)算,以及據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及 A) 數(shù)據(jù)的存儲結(jié)構(gòu)數(shù)據(jù)的存儲結(jié)構(gòu) B) 計(jì)算方法計(jì)算方法 C) 數(shù)據(jù)映象數(shù)據(jù)映象 D) 邏輯存儲邏輯存儲u 線性表的順序存儲結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)分別是線性表的順序存儲結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)分別是 A) 順序存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu)順序存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu) B) 隨機(jī)存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu)隨機(jī)存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu) C) 隨機(jī)存取的存儲結(jié)構(gòu)、隨機(jī)存取的存儲結(jié)構(gòu)隨機(jī)存取的存儲結(jié)構(gòu)、隨機(jī)存取的存儲結(jié)構(gòu) D) 任意存取的存儲結(jié)構(gòu)、任意存取的存儲結(jié)構(gòu)任意存取的存儲結(jié)構(gòu)、任意存取的存儲結(jié)構(gòu) 相鄰相鄰u 根據(jù)數(shù)據(jù)

47、結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分成構(gòu)分成 A) 動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu) B) 緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu) C) 線性結(jié)構(gòu)和非線性結(jié)構(gòu)線性結(jié)構(gòu)和非線性結(jié)構(gòu) D) 內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu) u 數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的 【2】 以及對數(shù)據(jù)的操作運(yùn)算。以及對數(shù)據(jù)的操作運(yùn)算。u 數(shù)據(jù)的基本單位是數(shù)據(jù)的基本單位是 【5】 。u 下列敘述中,錯誤的是下列敘述中,錯誤的是 A) 數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處

48、理的效率密切相關(guān) B) 數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān)數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān) C) 數(shù)據(jù)的存儲結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的數(shù)據(jù)的存儲結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的 D) 一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)存儲結(jié)構(gòu)存儲結(jié)構(gòu)數(shù)據(jù)元素?cái)?shù)據(jù)元素u鏈表不具有的特點(diǎn)是鏈表不具有的特點(diǎn)是A) 不必事先估計(jì)存儲空間不必事先估計(jì)存儲空間 B) 可隨機(jī)訪問任一元素可隨機(jī)訪問任一元素C) 插入刪除不需要移動元素插入刪除不需要移動元素D) 所需空間與線性表長度成正比所需空間與線性表長度成正比u順序存儲方法是把邏輯上相鄰的結(jié)點(diǎn)存儲在物理位置順序存儲

49、方法是把邏輯上相鄰的結(jié)點(diǎn)存儲在物理位置 【2】 的存儲單元的存儲單元中。中。u長度為長度為n的順序存儲線性表中,當(dāng)在任何位置上插入一個元素概率都相的順序存儲線性表中,當(dāng)在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數(shù)為等時,插入一個元素所需移動元素的平均個數(shù)為 【1】 。u線性表若采用順序存儲結(jié)構(gòu)時,要求內(nèi)存中可用存儲單元的地址線性表若采用順序存儲結(jié)構(gòu)時,要求內(nèi)存中可用存儲單元的地址 A) 必須是連續(xù)的必須是連續(xù)的 B) 部分地址必須是連續(xù)的部分地址必須是連續(xù)的 C) 一定是不連續(xù)的一定是不連續(xù)的 D) 連續(xù)不連續(xù)都可以連續(xù)不連續(xù)都可以例題講解例題講解相鄰相鄰2nu 線

50、性表線性表L=(a1,a2,a3,ai,an),下列說法正確的是,下列說法正確的是 A) 每個元素都有一個直接前件和直接后件每個元素都有一個直接前件和直接后件 B) 線性表中至少要有一個元素線性表中至少要有一個元素 C) 表中諸元素的排列順序必須是由小到大或由大到小表中諸元素的排列順序必須是由小到大或由大到小 D) 除第一個元素和最后一個元素外,其余每個元素都有一個除第一個元素和最后一個元素外,其余每個元素都有一個 且只有一個直且只有一個直接前件和直接后件接前件和直接后件u 線性表的順序存儲結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)分別是線性表的順序存儲結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)分別是 A) 順序存取的存儲結(jié)

51、構(gòu)、順序存取的存儲結(jié)構(gòu)順序存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu) B) 隨機(jī)存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu)隨機(jī)存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu) C) 隨機(jī)存取的存儲結(jié)構(gòu)、隨機(jī)存取的存儲結(jié)構(gòu)隨機(jī)存取的存儲結(jié)構(gòu)、隨機(jī)存取的存儲結(jié)構(gòu) D) 任意存取的存儲結(jié)構(gòu)、任意存取的存儲結(jié)構(gòu)任意存取的存儲結(jié)構(gòu)、任意存取的存儲結(jié)構(gòu) u 下列敘述中,錯誤的是下列敘述中,錯誤的是 A) 數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān) B) 數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān)數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān) C) 數(shù)據(jù)的存儲結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的數(shù)據(jù)的存儲結(jié)構(gòu)在計(jì)算機(jī)中所

52、占的空間不一定是連續(xù)的 D) 一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu) u 根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分成據(jù)結(jié)構(gòu)分成 A) 動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu) B) 緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu) C) 線性結(jié)構(gòu)和非線性結(jié)構(gòu)線性結(jié)構(gòu)和非線性結(jié)構(gòu) D) 內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)u 當(dāng)線性表采用順序存儲結(jié)構(gòu)實(shí)現(xiàn)存儲時,其主要特點(diǎn)是當(dāng)線性表采用順序存儲結(jié)構(gòu)實(shí)現(xiàn)存儲時,其主要特點(diǎn)是 【1】 。隨機(jī)存取隨機(jī)存取u鏈表不具有的特點(diǎn)是鏈表不具有的特點(diǎn)是A)

53、不必事先估計(jì)存儲空間不必事先估計(jì)存儲空間 B) 可隨機(jī)訪問任一元素可隨機(jī)訪問任一元素C) 插入刪除不需要移動元素插入刪除不需要移動元素D) 所需空間與線性表長度成正比所需空間與線性表長度成正比u用鏈表表示線性表的優(yōu)點(diǎn)是用鏈表表示線性表的優(yōu)點(diǎn)是A) 便于隨機(jī)存取便于隨機(jī)存取 B) 花費(fèi)的存儲空間較順序存儲少花費(fèi)的存儲空間較順序存儲少C) 便于插入和刪除操作便于插入和刪除操作 D) 數(shù)據(jù)元素的物理順序與邏輯順序相同數(shù)據(jù)元素的物理順序與邏輯順序相同u長度為長度為n的順序存儲線性表中的順序存儲線性表中,當(dāng)在任何位置上插入一個元素概率都相等時當(dāng)在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元

54、素的平均個數(shù)為插入一個元素所需移動元素的平均個數(shù)為 【1】 。u在單鏈表中,增加頭結(jié)點(diǎn)的目的是在單鏈表中,增加頭結(jié)點(diǎn)的目的是 A) 方便運(yùn)算的實(shí)現(xiàn)方便運(yùn)算的實(shí)現(xiàn) B) 使單鏈表至少有一個結(jié)點(diǎn)使單鏈表至少有一個結(jié)點(diǎn) C) 標(biāo)識表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置標(biāo)識表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置 D) 說明單鏈表是線性表的鏈?zhǔn)酱鎯?shí)現(xiàn)說明單鏈表是線性表的鏈?zhǔn)酱鎯?shí)現(xiàn)例題講解例題講解2nu 非空的循環(huán)單鏈表非空的循環(huán)單鏈表head的尾結(jié)點(diǎn)的尾結(jié)點(diǎn)(由由p所指向所指向) ,滿足,滿足 A) p-next=NULLB) p=NULL C) p-next=head D) p=head u 循環(huán)鏈表的主要優(yōu)點(diǎn)是循環(huán)鏈表的主要優(yōu)點(diǎn)是

55、 A) 不再需要頭指針了不再需要頭指針了 B) 從表中任一結(jié)點(diǎn)出發(fā)都能訪問到整個鏈表從表中任一結(jié)點(diǎn)出發(fā)都能訪問到整個鏈表 C) 在進(jìn)行插入、刪除運(yùn)算時,能更好的保證鏈表不斷開在進(jìn)行插入、刪除運(yùn)算時,能更好的保證鏈表不斷開 D) 已知某個結(jié)點(diǎn)的位置后,能夠容易的找到它的直接前件已知某個結(jié)點(diǎn)的位置后,能夠容易的找到它的直接前件u 當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時,說明循環(huán)隊(duì)列已滿,當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時,說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算。這種情況稱為不能進(jìn)行入隊(duì)運(yùn)算。這種情況稱為 【2】 。u 用鏈表表示線性表的突出優(yōu)點(diǎn)是用鏈表表示線性表的突出優(yōu)點(diǎn)是 【1】 。上溢上溢插入

56、、刪除靈活插入、刪除靈活u棧和隊(duì)列的共同特點(diǎn)是棧和隊(duì)列的共同特點(diǎn)是 A)都是先進(jìn)先出都是先進(jìn)先出 B) 都是先進(jìn)后出都是先進(jìn)后出 C) 只允許在端點(diǎn)處插入和刪除元素只允許在端點(diǎn)處插入和刪除元素 D) 沒有共同點(diǎn)沒有共同點(diǎn)u如果進(jìn)棧序列為如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是,則可能的出棧序列是 A) e3,e1,e4,e2 B) e2,e4,e3,e1 C) e3,e4,e1,e2D) 任意順序任意順序u一些重要的程序語言一些重要的程序語言(如如C語言和語言和Pascal語言語言) 允許過程的遞歸調(diào)用允許過程的遞歸調(diào)用。而實(shí)現(xiàn)遞歸調(diào)用中的存儲分配通常用。而實(shí)現(xiàn)遞歸調(diào)用中的存儲

57、分配通常用 A) 棧棧B) 堆堆 C) 數(shù)組數(shù)組 D) 鏈表鏈表例題講解例題講解u 棧底至棧頂依次存放元素棧底至棧頂依次存放元素A、B、C、D,在第五個元素,在第五個元素E入棧前,棧中元素入棧前,棧中元素可以出棧,則出棧序列可能是可以出棧,則出棧序列可能是 A) ABCED B) DCBEA C) DBCEA D) CDABE u 棧通常采用的兩種存儲結(jié)構(gòu)是棧通常采用的兩種存儲結(jié)構(gòu)是 A) 線性存儲結(jié)構(gòu)和鏈表存儲結(jié)構(gòu)線性存儲結(jié)構(gòu)和鏈表存儲結(jié)構(gòu)B) 散列方式和索引方式散列方式和索引方式 C) 鏈表存儲結(jié)構(gòu)和數(shù)組鏈表存儲結(jié)構(gòu)和數(shù)組 D) 線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)u

58、棧和隊(duì)列通常采用的存儲結(jié)構(gòu)是棧和隊(duì)列通常采用的存儲結(jié)構(gòu)是 【1】 。u 下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是 A) 線性鏈表線性鏈表 B) 棧棧 C) 循環(huán)鏈表循環(huán)鏈表 D) 順序表順序表當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時,說明循環(huán)隊(duì)列已滿,不能進(jìn)行當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時,說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算。這種情況稱為入隊(duì)運(yùn)算。這種情況稱為 【2】 。鏈表存儲結(jié)構(gòu)和數(shù)組鏈表存儲結(jié)構(gòu)和數(shù)組上溢上溢u 由兩個棧共享一個存儲空間的好處是由兩個棧共享一個存儲空間的好處是A) 減少存取時間,降低下溢發(fā)生的機(jī)率減少存取時間,降低下溢發(fā)生

59、的機(jī)率 B) 節(jié)省存儲空間,降低上溢發(fā)生的機(jī)率節(jié)省存儲空間,降低上溢發(fā)生的機(jī)率C) 減少存取時間,降低上溢發(fā)生的機(jī)率減少存取時間,降低上溢發(fā)生的機(jī)率 D) 節(jié)省存儲空間,降低下溢發(fā)生的機(jī)率節(jié)省存儲空間,降低下溢發(fā)生的機(jī)率u 下列關(guān)于棧的敘述中正確的是下列關(guān)于棧的敘述中正確的是)在棧中只能插入數(shù)據(jù))在棧中只能插入數(shù)據(jù) B)在棧中只能刪除數(shù)據(jù))在棧中只能刪除數(shù)據(jù)C)棧是先進(jìn)先出的線性表)棧是先進(jìn)先出的線性表 D)棧是后進(jìn)先出的線性表)棧是后進(jìn)先出的線性表u 下列關(guān)于隊(duì)列的敘述中正確的是下列關(guān)于隊(duì)列的敘述中正確的是)在隊(duì)列中只能插入數(shù)據(jù))在隊(duì)列中只能插入數(shù)據(jù) B)在隊(duì)列中只能刪除數(shù)據(jù))在隊(duì)列中只能刪

60、除數(shù)據(jù)C)隊(duì)列是先進(jìn)先出的線性表)隊(duì)列是先進(jìn)先出的線性表 D)隊(duì)列是后進(jìn)先出的線性表)隊(duì)列是后進(jìn)先出的線性表第60頁樹型結(jié)構(gòu)是一種重要的非線性結(jié)構(gòu)。樹型結(jié)構(gòu)是一種重要的非線性結(jié)構(gòu)。u 樹的概念樹的概念u 二叉樹的概念二叉樹的概念u 二叉樹的存儲二叉樹的存儲u 二叉樹的遍歷二叉樹的遍歷第61頁u 樹的定義:是一種簡單的非線性結(jié)構(gòu)。樹的定義:是一種簡單的非線性結(jié)構(gòu)。 n個結(jié)點(diǎn)的有限個結(jié)點(diǎn)的有限集。(集。(n=0) ABDFECGHIJKM沒有前件的結(jié)點(diǎn)只沒有前件的結(jié)點(diǎn)只有一個稱為根結(jié)點(diǎn)。有一個稱為根結(jié)點(diǎn)。 簡稱樹簡稱樹的根。的根。無結(jié)點(diǎn)則稱為空樹;無結(jié)點(diǎn)則稱為空樹;n 結(jié)點(diǎn)的前件稱該結(jié)結(jié)點(diǎ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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論