版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
關(guān)于計(jì)算機(jī)級(jí)公共基礎(chǔ)知識(shí)考前必看第一頁(yè),共一百零五頁(yè),2022年,8月28日第2頁(yè)計(jì)算機(jī)二級(jí)考試公共基礎(chǔ)知識(shí)大綱
數(shù)據(jù)結(jié)構(gòu)與算法程序設(shè)計(jì)基礎(chǔ)軟件工程基礎(chǔ)數(shù)據(jù)庫(kù)設(shè)計(jì)基礎(chǔ)這四個(gè)方面在試卷中出現(xiàn)的情況是:選擇題10個(gè)(20分),填空題5個(gè)(10分),總分值占到了試卷卷面分的30%,是一個(gè)不小的比例。
第二頁(yè),共一百零五頁(yè),2022年,8月28日第3頁(yè)算法⒈算法的基本概念
2.算法復(fù)雜度的概念和意義
一、基本數(shù)據(jù)結(jié)構(gòu)與算法
數(shù)據(jù)結(jié)構(gòu)⒈數(shù)據(jù)結(jié)構(gòu)的概念⒉線性表⒊棧和隊(duì)列⒋樹與二叉樹⒌查找技術(shù)⒍排序技術(shù)
對(duì)于等級(jí)考試,這個(gè)部分的考核重點(diǎn)主要在算法和數(shù)據(jù)結(jié)構(gòu)的基本概念、二叉樹(遍歷、結(jié)點(diǎn)),還有排序和查找考試中也經(jīng)常會(huì)涉及到。第三頁(yè),共一百零五頁(yè),2022年,8月28日第4頁(yè)算法的定義對(duì)解題方案準(zhǔn)確而完整的描述稱為算法。算法是程序設(shè)計(jì)的核心⒈算法的基本概念
算法是在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。通俗點(diǎn)說(shuō),就是計(jì)算機(jī)解題的過(guò)程(計(jì)算的方法)。在這個(gè)過(guò)程中,無(wú)論是形成解題思路(推理實(shí)現(xiàn)的算法)還是編寫程序(操作實(shí)現(xiàn)的算法),都是在實(shí)施某種算法。例:n個(gè)數(shù)從大到小進(jìn)行排序。
有多種排序方法,常用的有冒泡排序、選擇排序等。第四頁(yè),共一百零五頁(yè),2022年,8月28日第5頁(yè)
2.
算法的基本特征一個(gè)算法應(yīng)該具有以下五個(gè)重要的特征:
有窮性確定性輸入輸出可行性一個(gè)算法必須保證執(zhí)行有限步之后結(jié)束;算法的每一步驟必須有確切的定義;一個(gè)算法有0個(gè)或多個(gè)輸入,以刻畫運(yùn)算對(duì)象的初始情況,所謂0個(gè)輸入是指算法本身定除了初始條件;一個(gè)算法有一個(gè)或多個(gè)輸出,以反映對(duì)輸入數(shù)據(jù)加工后的結(jié)果。沒有輸出的算法是毫無(wú)意義的;算法原則上能夠精確地運(yùn)行,而且人們用筆和紙做有限次運(yùn)算后即可完成第五頁(yè),共一百零五頁(yè),2022年,8月28日第6頁(yè)算法與計(jì)算機(jī)程序算法____是一組邏輯步驟程序——用計(jì)算機(jī)語(yǔ)言描述的算法3.算法的表示INPUTrS=3.14*r*rPTINTS開始輸入RS=3.14*
R*R輸出S結(jié)束問題:輸入園的半徑,計(jì)算園的面積
一個(gè)算法的表示需要使用一些語(yǔ)言形式。傳統(tǒng)的算法-------圖形法,如“流程圖”和N-S圖目前常用的方法-------使用偽碼描述算法。第六頁(yè),共一百零五頁(yè),2022年,8月28日第7頁(yè)4.
算法評(píng)價(jià)評(píng)價(jià)一個(gè)算法優(yōu)劣的主要標(biāo)準(zhǔn)是算法的執(zhí)行效率和存儲(chǔ)需求:時(shí)間復(fù)雜度:執(zhí)行這個(gè)算法所需要的計(jì)算工作量一般可以用算法在執(zhí)行過(guò)程中所需基本運(yùn)算的執(zhí)行次數(shù)來(lái)度量計(jì)算工作量空間復(fù)雜度:執(zhí)行這個(gè)算法所需要的內(nèi)存空間
算法在執(zhí)行過(guò)程中臨時(shí)占用的存儲(chǔ)空間
時(shí)間復(fù)雜度它大致等于計(jì)算機(jī)執(zhí)行一種簡(jiǎn)單操作所需的平均時(shí)間與算法中進(jìn)行簡(jiǎn)單操作的次數(shù)的乘積。
一個(gè)算法在計(jì)算機(jī)存儲(chǔ)器上所占用的存儲(chǔ)空間,包括存儲(chǔ)算法本身所占用的存儲(chǔ)空間、算法中的輸入輸出數(shù)據(jù)所占用的存儲(chǔ)空間和算法在運(yùn)行過(guò)程中臨時(shí)占用的存儲(chǔ)空間這三個(gè)部分第七頁(yè),共一百零五頁(yè),2022年,8月28日第8頁(yè)總結(jié)對(duì)解題方案準(zhǔn)確而完整的描述稱為算法。算法不等于程序,也不等計(jì)算機(jī)方法,程序的編制不可能優(yōu)于算法的設(shè)計(jì)。算法評(píng)價(jià):
時(shí)間復(fù)雜度:執(zhí)行這個(gè)算法所需要的計(jì)算工作量空間復(fù)雜度:執(zhí)行這個(gè)算法所需要的內(nèi)存空間第八頁(yè),共一百零五頁(yè),2022年,8月28日第9頁(yè)(1)在計(jì)算機(jī)中,算法是指______。
A.查詢方法B.加工方法
C.解題方案的準(zhǔn)確而完整的描述D.排序方法(2)下列敘述中正確的是A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)B)算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的D)算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)(3)算法的有窮性是指A)算法程序的運(yùn)行時(shí)間是有限的B)算法程序所處理的數(shù)據(jù)量是有限的C)算法程序的長(zhǎng)度是有限的D)算法只能被有限的用戶使用(c)(B)算法習(xí)題:(A)第九頁(yè),共一百零五頁(yè),2022年,8月28日第10頁(yè)(4)算法的時(shí)問復(fù)雜度是指
A)算法的執(zhí)行時(shí)間
B)算法所處理的數(shù)據(jù)量
C)算法程序中的語(yǔ)句或指令條數(shù)
D)算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)(5)算法的空間復(fù)雜度是指
A)算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間B)算法所處理的數(shù)據(jù)量C)算法程序中的語(yǔ)句或指令條數(shù)D)算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)(6)下列敘述中正確的是
A)一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大
B)一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
C)一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小
D)上述三種說(shuō)法都不對(duì)(D)計(jì)算工作量(A)(D)第十頁(yè),共一百零五頁(yè),2022年,8月28日第11頁(yè)
計(jì)算機(jī)在進(jìn)行數(shù)據(jù)處理時(shí),實(shí)際需要處理的數(shù)據(jù)元素一般有很多,而這些大量的數(shù)據(jù)元素都需要存放在計(jì)算機(jī)中,因此,大量的數(shù)據(jù)元素在計(jì)算機(jī)中如何組織,以便提高數(shù)據(jù)處理的效率,并且節(jié)省計(jì)算機(jī)的存儲(chǔ)空間,這是進(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ù)元素的集合。
一般來(lái)說(shuō),人們不會(huì)同時(shí)處理特征完全不同且互相之間沒有任何關(guān)系的各類數(shù)據(jù)元素,對(duì)于具有不同特征的數(shù)據(jù)元素總是分別進(jìn)行處理。一般情況下,在具有相同特征的數(shù)據(jù)元素集合中,各個(gè)數(shù)據(jù)元素之間存在有某種關(guān)系(即聯(lián)系),這種關(guān)系反映了該集合中的數(shù)據(jù)元素所固有的一種結(jié)構(gòu)。第十一頁(yè),共一百零五頁(yè),2022年,8月28日第12頁(yè)二.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)和數(shù)據(jù)之間關(guān)系的一門學(xué)科,它包括三個(gè)方面。
(1)數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);(2)在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu);(3)對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。第十二頁(yè),共一百零五頁(yè),2022年,8月28日第13頁(yè)1.邏輯結(jié)構(gòu)
數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)包含:(1)表示數(shù)據(jù)元素的信息;(2)表示各數(shù)據(jù)元素之間的前后件關(guān)系。例:1.一年四季的數(shù)據(jù)結(jié)構(gòu)
B=(D,R)D={春,夏,秋,冬}R={(春,夏),(夏,秋),(秋,冬)}2.家庭成員的數(shù)據(jù)結(jié)構(gòu)
B=(D,R)D={父親,兒子,女兒}R={(父親,兒子),(父親,女兒)}春夏秋冬數(shù)據(jù)結(jié)構(gòu)的圖形表示父親兒子女兒第十三頁(yè),共一百零五頁(yè),2022年,8月28日第14頁(yè)常見的邏輯結(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)中的每個(gè)元素之間存在一個(gè)對(duì)一個(gè)的關(guān)系;②樹形結(jié)構(gòu)結(jié)構(gòu)中的每個(gè)元素之間存在一個(gè)對(duì)多個(gè)的關(guān)系;③圖形結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)結(jié)構(gòu)中的每個(gè)元素之間存在多個(gè)對(duì)多個(gè)的關(guān)系。其中,樹形結(jié)構(gòu)和圖形結(jié)構(gòu)統(tǒng)稱為非線形結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)可以用二元關(guān)系表示,也可以直觀地用圖形來(lái)表示。第十四頁(yè),共一百零五頁(yè),2022年,8月28日第15頁(yè)常見的數(shù)據(jù)結(jié)構(gòu)
1.線性表
2.棧和隊(duì)列
3.樹第十五頁(yè),共一百零五頁(yè),2022年,8月28日第16頁(yè)1.線性表(LinearList)
線性表是由n(n≥0)個(gè)數(shù)據(jù)元素
a1,a2,…,ai,…,an組成的一個(gè)有限序列。簡(jiǎn)單的線性表春夏秋冬復(fù)雜的線性表記錄102011001
張三男…
記錄202011003李四女…記錄3記錄4第十六頁(yè),共一百零五頁(yè),2022年,8月28日第17頁(yè)2.棧和隊(duì)列棧和隊(duì)列都是特殊的線性表。
棧(Stack)及其基本運(yùn)算隊(duì)列(Queue)及其基本運(yùn)算循環(huán)隊(duì)列及其基本運(yùn)算第十七頁(yè),共一百零五頁(yè),2022年,8月28日第18頁(yè)棧(Stack)是一種特殊的線性表。其特點(diǎn)是插入和刪除運(yùn)算都只能在線性表的一端進(jìn)行。棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的線性表。棧的物理存儲(chǔ)結(jié)構(gòu)可以用順序結(jié)構(gòu),也可以用鏈表結(jié)構(gòu)。下面討論順序存儲(chǔ)結(jié)構(gòu)中棧元素的插入和刪除運(yùn)算。順序棧的進(jìn)棧和出棧運(yùn)算棧的基本運(yùn)算有三種:入棧、退棧和讀棧頂元素
在順序棧中插入和刪除運(yùn)算不需要移動(dòng)表中其他數(shù)據(jù)元素。第十八頁(yè),共一百零五頁(yè),2022年,8月28日第19頁(yè)隊(duì)列(Queue)是一種特殊的線性表。其特點(diǎn)是所有的插入都在表的一端進(jìn)行,所有的刪除運(yùn)算都在表的另一端進(jìn)行。隊(duì)列是按照“先進(jìn)先出”或“后進(jìn)后出”的原則組織數(shù)據(jù)的線性表。隊(duì)列的物理存儲(chǔ)結(jié)構(gòu)可以用順序結(jié)構(gòu),也可以用鏈?zhǔn)浇Y(jié)構(gòu)。順序隊(duì)列的運(yùn)算棧有三種操作:入棧\出棧\讀棧頂元素隊(duì)列有三種操作:入隊(duì)\出隊(duì)\讀隊(duì)首元素例:有入棧元素序列:ABCD,求可能的出棧序列.如是隊(duì)列又是什么情況呢?第十九頁(yè),共一百零五頁(yè),2022年,8月28日第20頁(yè)
循環(huán)隊(duì)列把隊(duì)列的存儲(chǔ)空間在邏輯上看作一個(gè)環(huán),當(dāng)R指向存儲(chǔ)空間的末端后,就把它重新置于始端。循環(huán)隊(duì)列的運(yùn)算隊(duì)列中進(jìn)行插入的一端稱做隊(duì)尾(rear),進(jìn)行刪除的一端稱做隊(duì)首(front)。
習(xí)題:數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),循環(huán)隊(duì)列屬于【】結(jié)構(gòu)。(2005年9月)答案:存儲(chǔ)結(jié)構(gòu)。第二十頁(yè),共一百零五頁(yè),2022年,8月28日第21頁(yè)常見數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)線性表
線性結(jié)構(gòu)棧
是特殊的線性表
隊(duì)列
也是一種操作受限的特殊的線性表樹(樹型結(jié)構(gòu))是一種重要的非線形數(shù)據(jù)結(jié)構(gòu)第二十一頁(yè),共一百零五頁(yè),2022年,8月28日第22頁(yè)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)方面的考題
1:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指
A)存儲(chǔ)在外存中的數(shù)據(jù)B)數(shù)據(jù)所占的存儲(chǔ)空間量
C)數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式D)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示2.下列敘述中正確的是
A)棧是“先進(jìn)先出”的線性表
B)隊(duì)列是“先進(jìn)后出”的線性表
C)循環(huán)隊(duì)列是非線性結(jié)構(gòu)
D)有序線性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)3.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于[]。4.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是A)循環(huán)隊(duì)列B)帶鏈隊(duì)列C)二叉樹D)帶鏈棧答案:D。答案:D。答案:線性結(jié)構(gòu)。答案:c第二十二頁(yè),共一百零五頁(yè),2022年,8月28日第23頁(yè)5。下列敘述中正確的是()。
A)順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B)順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
C)順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
D)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間答案:A。6。下列關(guān)于棧的敘述正確的是
A)棧按“先進(jìn)先出”組織數(shù)據(jù)B)棧按“先進(jìn)后出”組織數(shù)據(jù)
C)只能在棧底插入數(shù)據(jù)D)不能刪除數(shù)據(jù)
答案:B。7.一個(gè)隊(duì)列的初始狀態(tài)為空?,F(xiàn)將元素A,B,C,D,E,F(xiàn),5,4,3,2,1依次入隊(duì),然后再依次退隊(duì),則元素退隊(duì)的順序?yàn)椤?】。(2010年3月)
答案:A,B,C,D,E,F(xiàn),5,4,3,2,1第二十三頁(yè),共一百零五頁(yè),2022年,8月28日第24頁(yè)一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)若滿足下面的兩個(gè)條件,則這種數(shù)據(jù)結(jié)構(gòu)即為線性結(jié)構(gòu)。①有且僅有一個(gè)根結(jié)點(diǎn);②除第一個(gè)結(jié)點(diǎn)外,每一個(gè)結(jié)點(diǎn)最多有一個(gè)直接前驅(qū)結(jié)點(diǎn);③除最后一個(gè)結(jié)點(diǎn)外,每一個(gè)結(jié)點(diǎn)最多有一個(gè)直接后繼結(jié)點(diǎn)。
線性結(jié)構(gòu)與非線性結(jié)構(gòu)線性表、棧和隊(duì)列都是線性結(jié)構(gòu)
一個(gè)數(shù)據(jù)結(jié)構(gòu)不是線性結(jié)構(gòu),則稱其為非線性結(jié)構(gòu)。a1a2a5a3a4HEAD319510線性鏈表的邏輯狀態(tài)第二十四頁(yè),共一百零五頁(yè),2022年,8月28日第25頁(yè)樹型結(jié)構(gòu)是一種重要的非線性結(jié)構(gòu)。
樹的概念二叉樹的概念二叉樹的存儲(chǔ)二叉樹的遍歷3.樹與二叉樹第二十五頁(yè),共一百零五頁(yè),2022年,8月28日第26頁(yè)樹的概念
樹的定義:n個(gè)結(jié)點(diǎn)的有限集。(n>=0)
ABDFECGHIJKM
根:onlyone
若n=0,則稱為空樹;否則,當(dāng)n>1時(shí),其余結(jié)點(diǎn)被分成m(m>0)個(gè)互不相交的子集T1,T2,...,Tm,每個(gè)子集又是一棵樹。由此可以看出,樹的定義是遞歸的。
Question:如何辨別根?A只有一個(gè)結(jié)點(diǎn)的樹第二十六頁(yè),共一百零五頁(yè),2022年,8月28日第27頁(yè)樹型結(jié)構(gòu)的常用術(shù)語(yǔ)ABDFECGHIJKM
結(jié)點(diǎn)的度一個(gè)結(jié)點(diǎn)的子樹的個(gè)數(shù);Q:結(jié)點(diǎn)A、G的度數(shù)?
樹的度樹中所有結(jié)點(diǎn)度的最大值;Q:右圖中樹的度?
終端結(jié)點(diǎn)度為0的結(jié)點(diǎn);
Q:圖中葉子結(jié)點(diǎn)有幾個(gè)?7
非終端結(jié)點(diǎn)
度不為0的結(jié)點(diǎn);
Q:圖中非終端結(jié)點(diǎn)有幾個(gè)?5孩子結(jié)點(diǎn)、雙親結(jié)點(diǎn)、兄弟結(jié)點(diǎn)、結(jié)點(diǎn)的子孫、結(jié)點(diǎn)的祖先第二十七頁(yè),共一百零五頁(yè),2022年,8月28日第28頁(yè)樹型結(jié)構(gòu)的常用術(shù)語(yǔ)ABDFECGHIJKM
結(jié)點(diǎn)的層次樹中根結(jié)點(diǎn)的層次為1,根結(jié)點(diǎn)子樹的根為第2層,以此類推;
Q:圖中結(jié)點(diǎn)F的層次?
樹的深度
樹中所有結(jié)點(diǎn)層次的最大值;
Q:圖中樹的深度?
有序樹、無(wú)序樹如果樹中每棵子樹從左向右的排列擁有一定的順序,不得互換,則稱為有序樹,否則稱為無(wú)序樹。①②③④第二十八頁(yè),共一百零五頁(yè),2022年,8月28日第29頁(yè)二叉樹的概念
定義:二叉樹是一種有序的樹形結(jié)構(gòu)。它與一般樹形結(jié)構(gòu)的區(qū)別是:每個(gè)結(jié)點(diǎn)最多有兩棵子樹;子樹有左右之分,次序不能任意顛倒。
二叉樹的5種基本形態(tài)第二十九頁(yè),共一百零五頁(yè),2022年,8月28日第30頁(yè)二叉樹的性質(zhì)【性質(zhì)1】
在二叉樹的第i層上最多有2i-1個(gè)結(jié)點(diǎn)(i≥1)ABCDFEHG第三十頁(yè),共一百零五頁(yè),2022年,8月28日第31頁(yè)【性質(zhì)2】深度為h的二叉樹最多有2h-1個(gè)結(jié)點(diǎn)(h≥1)滿二叉樹:除最后一層外,每一層上的所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)。完全二叉樹:除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值;在最后一層上只缺少右邊的若干結(jié)點(diǎn)。第三十一頁(yè),共一百零五頁(yè),2022年,8月28日第32頁(yè)121314158910114567123滿二叉樹完全二叉樹12138910114567123
完全二叉樹是滿二叉樹滿二叉樹也是完全二叉樹第三十二頁(yè),共一百零五頁(yè),2022年,8月28日第33頁(yè)1213891011456123非完全二叉樹深度為4的完全二叉樹84567123第三十三頁(yè),共一百零五頁(yè),2022年,8月28日第34頁(yè)【性質(zhì)3】二叉樹上葉子結(jié)點(diǎn)數(shù)比度為2的結(jié)點(diǎn)數(shù)多1ABCDFEHG度為2的結(jié)點(diǎn)葉子結(jié)點(diǎn)第三十四頁(yè),共一百零五頁(yè),2022年,8月28日第35頁(yè)1:在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為
A)32
B)31
C)64
D)632:在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為【】
。3:一棵二叉樹中共有70個(gè)葉子結(jié)點(diǎn)與80個(gè)度為1的結(jié)點(diǎn),則該二叉樹中的總結(jié)點(diǎn)數(shù)為
A)219B)221C)229D)2314:某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。5:一棵二叉樹第六層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)數(shù)最多為【】個(gè)。
樹型結(jié)構(gòu)方面的考題
1答案:C。3答案:A。5答案:32。2答案:63。4答案:19。第三十五頁(yè),共一百零五頁(yè),2022年,8月28日第36頁(yè)二叉樹的遍歷
遍歷指不重復(fù)地訪問二叉樹中的所有結(jié)點(diǎn)。二叉樹的遍歷的次序與樹型結(jié)構(gòu)上的大多數(shù)運(yùn)算有聯(lián)系。遍歷的方式有三種(1)先(前)序遍歷(DLR)(2)中序遍歷(LDR)(3)后序遍歷(LRD)ABCDFEHG第三十六頁(yè),共一百零五頁(yè),2022年,8月28日第37頁(yè)二叉樹的遍歷
遍歷指不重復(fù)地訪問二叉樹中的所有結(jié)點(diǎn)。(1)先(前)序遍歷(DLR)若二叉樹為空,則結(jié)束遍歷操作;否則訪問根結(jié)點(diǎn);先序遍歷左子樹;先序遍歷右子樹。ABCDFEHG先序遍歷的結(jié)果:
ABECFGHD第三十七頁(yè),共一百零五頁(yè),2022年,8月28日第38頁(yè)(2)中序遍歷(LDR)若二叉樹為空,則結(jié)束遍歷操作;否則中序遍歷左子樹;訪問根結(jié)點(diǎn);中序遍歷右子樹。中序遍歷的結(jié)果:EBAFHGCD(3)后序遍歷(LRD)若二叉樹為空,則結(jié)束遍歷操作;否則后序遍歷左子樹;后序遍歷右子樹;訪問根結(jié)點(diǎn)。后序遍歷的結(jié)果:E
BHGFDCAABCDFEHG第三十八頁(yè),共一百零五頁(yè),2022年,8月28日第39頁(yè)先序序列:ABDGCEFH 中序序列:DGBAECHF 后序序列:GDBEHFCAABCFHDEG下圖所示的二叉樹經(jīng)過(guò)三種遍歷得到的順序分別為?練習(xí):根據(jù)先序遍歷序列,建立二叉樹第三十九頁(yè),共一百零五頁(yè),2022年,8月28日第40頁(yè)1:設(shè)二叉樹如下:
(2010年3月)
對(duì)該二叉樹進(jìn)行后序遍歷的結(jié)果為【3】樹型結(jié)構(gòu)方面的考題
22:對(duì)如下二叉樹(2006年4月)進(jìn)行后序遍歷的結(jié)果為A)ABCDEF
B)DBEAFCC)ABDECF
D)DEBFCA
EDBGHFCA
DABCFHDGE第四十頁(yè),共一百零五頁(yè),2022年,8月28日第41頁(yè)⒌查找技術(shù)
查找是數(shù)據(jù)處理的重要內(nèi)容。查找指在一個(gè)給定的數(shù)據(jù)結(jié)構(gòu)中查找指定的元素,該元素也稱關(guān)鍵字。若找到了滿足條件的結(jié)點(diǎn),稱查找成功;否則稱查找失敗。衡量一個(gè)查找算法的主要標(biāo)準(zhǔn)是查找過(guò)程中對(duì)關(guān)鍵字進(jìn)行的平均比較次數(shù)。通常根據(jù)不同的數(shù)據(jù)結(jié)構(gòu),采用不同的查找方法:順序查找二分查找第四十一頁(yè),共一百零五頁(yè),2022年,8月28日第42頁(yè)順序查找線性表中最簡(jiǎn)單的查找方法。
方法:從線性表的第一個(gè)元素開始,依次將線性表中的元素與關(guān)鍵字進(jìn)行比較,若相等,則查找成功;若將所有元素都與關(guān)鍵字進(jìn)行了比較但不相等,則查找失敗。順序查找法的適用場(chǎng)合:對(duì)線性表中元素的排列次序沒有要求;對(duì)線性表的存儲(chǔ)結(jié)構(gòu)沒有要求,鏈?zhǔn)浇Y(jié)構(gòu)和順序結(jié)構(gòu)均可。第四十二頁(yè),共一百零五頁(yè),2022年,8月28日第43頁(yè)二分查找(折半查找)
是一種效率較高的查找方法,但是只適合順序存儲(chǔ)的有序表。二分查找的方法:首先將關(guān)鍵字與線性表中間位置的結(jié)點(diǎn)比較,相等則查找成功;不相等則根據(jù)比較結(jié)果確定下一步查找應(yīng)在哪個(gè)子表中進(jìn)行;重復(fù)上述過(guò)程,直至查找成功或子表長(zhǎng)度為0。二分查找法的適用場(chǎng)合:線性表中的元素按關(guān)鍵字值遞增或遞減的次序排列;線性表采用順序存儲(chǔ)結(jié)構(gòu)。第四十三頁(yè),共一百零五頁(yè),2022年,8月28日第44頁(yè)⒍排序技術(shù)
排序指將一個(gè)無(wú)序序列整理成按關(guān)鍵字值遞增或遞減排列的有序序列。排序方法中其排序?qū)ο笠话闶琼樞虼鎯?chǔ)的線性表。根據(jù)排序序列的規(guī)模以及數(shù)據(jù)處理的要求,可以采用不同的排序方法:交換類排序法
冒泡排序快速排序
插入類排序法簡(jiǎn)單插入排序希爾排序選擇類排序法簡(jiǎn)單選擇排序堆排序第四十四頁(yè),共一百零五頁(yè),2022年,8月28日第45頁(yè)冒泡排序
冒泡排序的方法:掃描整個(gè)線性表,逐次對(duì)相鄰的兩個(gè)元素進(jìn)行比較,若為逆序,則交換;第一趟掃描的結(jié)果使最大(或最小)的元素排到表的最后(或最前)
;除最后(或最前)一個(gè)元素,對(duì)剩余的元素重復(fù)上述過(guò)程,將次大(或次小)的數(shù)排到表的倒數(shù)(或正數(shù))第二個(gè)位置;重復(fù)上述過(guò)程;對(duì)于長(zhǎng)度為n的線性表,冒泡排序需要對(duì)表掃描n-1遍。第四十五頁(yè),共一百零五頁(yè),2022年,8月28日第46頁(yè)冒泡排序的方法設(shè)待排數(shù)據(jù)元素的關(guān)鍵字為(18,20,15,32,4,25),第一趟冒泡排序后的序列狀態(tài)如圖所示:
182015324251820153242518152032425181520324251815204322518152042532最大數(shù)第二趟冒泡排序第四十六頁(yè),共一百零五頁(yè),2022年,8月28日第47|92頁(yè)Q:第二趟冒泡排序后的結(jié)果是什么樣的?達(dá)到了最終的排序目標(biāo)嗎?一共需要多少次能夠最后成為有序序列?Q:你覺得冒泡排序的效率如何?如果是你,你會(huì)用什么方法來(lái)排序?
冒泡排序比較簡(jiǎn)單,當(dāng)初始序列基本有序時(shí),冒泡排序有較高的效率,反之效率較低。冒泡排序終止條件:
本趟排序未發(fā)生交換,終止排序算法第四十七頁(yè),共一百零五頁(yè),2022年,8月28日第48|92頁(yè)初始第一趟第二趟第三趟第四趟第五趟序列排序后排序后排序后排序后排序后 26 18 1818 189 18 26 2626 915 32 32 329 15 18 54 47 915 26 47 9 1532
9 15 47
15 54
設(shè)待排數(shù)據(jù)元素的關(guān)鍵字為(26,18,32,54,47,9,15)冒泡排序法,需要比較的次數(shù)為n(n-1)/2;
第四十八頁(yè),共一百零五頁(yè),2022年,8月28日第49頁(yè)選擇排序
選擇排序的方法:掃描整個(gè)線性表,從中找出最小的元素,與第一個(gè)元素交換;除第一個(gè)元素,對(duì)剩下的子表采用相同的方法找出次小的數(shù),與第二個(gè)數(shù)交換;重復(fù)上述過(guò)程;對(duì)于長(zhǎng)度為n的線性表,選擇排序需要對(duì)表掃描n-1遍。簡(jiǎn)單選擇排序法,
最壞情況需要n(n-1)/2次比較;
第四十九頁(yè),共一百零五頁(yè),2022年,8月28日第50|92頁(yè)初態(tài):[15,14,22,30,37,15,11]第一趟:[11][14,22,30,37,15,15]第二趟:[11,14][22,30,37,15,15]第三趟:[11,14,15][30,37,22,15]第四趟:[11,14,15,15][37,22,30]第五趟:[11,14,15,15,22][37,30]第六趟:[11,14,15,15,22,30][37]
有序序列例:設(shè)待排數(shù)據(jù)元素的關(guān)鍵字為(15,14,22,30,37,11),每一趟排序后的序列狀態(tài)如圖所示:第五十頁(yè),共一百零五頁(yè),2022年,8月28日第51頁(yè)排序法小結(jié):簡(jiǎn)單選擇排序法,
最壞情況需要n(n-1)/2次比較;冒泡排序法,
最壞情況需要n(n-1)/2次比較;快速排序法,
最壞情況需要n(n-1)/2次比較;希爾排序法,
最壞情況需要O(n1.5)次比較;堆排序法,最壞情況需要O(nlog2n)次比較;
第五十一頁(yè),共一百零五頁(yè),2022年,8月28日第52頁(yè)排序查找方面的考題:(1)對(duì)于長(zhǎng)度為n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是
A)冒泡排序?yàn)閚/2B)冒泡排序?yàn)閚
C)快速排序?yàn)閚D)快速排序?yàn)閚(n-1)/2
(2)在長(zhǎng)為64的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為______。
A)、63B)、64C)、6D)、7(3)下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是
A)順序存儲(chǔ)的有序線性表 B)線性鏈表
C)二叉鏈表 D)有序線性鏈表(4)下列排序方法中,最壞情況下比較次數(shù)最少的是(09年3月)
A)冒泡排序
B)簡(jiǎn)單選擇排序
C)直接插入排序
D)堆排序DBAD第五十二頁(yè),共一百零五頁(yè),2022年,8月28日第53頁(yè)第二章程序設(shè)計(jì)基礎(chǔ)內(nèi)容:
1.程序設(shè)計(jì)方法與風(fēng)格。2.結(jié)構(gòu)化程序設(shè)計(jì)。3.面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,對(duì)象,方法,屬性及繼承與多態(tài)性。第五十三頁(yè),共一百零五頁(yè),2022年,8月28日第54頁(yè)1.結(jié)構(gòu)化程序設(shè)計(jì)
結(jié)構(gòu)化程序設(shè)計(jì)方法的四條原則是:1.自頂向下;2.逐步求精;3.模塊化;4.限制使用goto語(yǔ)句。
結(jié)構(gòu)化程序的基本結(jié)構(gòu)和特點(diǎn):
(1)順序結(jié)構(gòu):簡(jiǎn)單的程序設(shè)計(jì),最基本、最常用的結(jié)構(gòu);
(2)選擇結(jié)構(gòu)(分支結(jié)構(gòu)):包括簡(jiǎn)單選擇和多分支選擇結(jié)構(gòu),
(3)重復(fù)結(jié)構(gòu)(循環(huán)結(jié)構(gòu)):可根據(jù)給定條件,判斷是否需要重復(fù)執(zhí)行某一相同程序段。第五十四頁(yè),共一百零五頁(yè),2022年,8月28日第55頁(yè)2.面向?qū)ο蟮某绦蛟O(shè)計(jì)
對(duì)象是面向?qū)ο蠓椒ㄖ凶罨镜母拍睢?/p>
對(duì)象是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)實(shí)體,是構(gòu)成系統(tǒng)的一個(gè)基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。屬性即對(duì)象所包含的信息操作描述了對(duì)象執(zhí)行的功能,操作也稱為方法或服務(wù)。第五十五頁(yè),共一百零五頁(yè),2022年,8月28日第56頁(yè)類是指具有共同屬性、共同方法的對(duì)象的集合。所以類是對(duì)象的抽象,對(duì)象是對(duì)應(yīng)類的一個(gè)實(shí)例。消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息。
消息的組成包括(1)接收消息的對(duì)象的名稱;(2)消息標(biāo)識(shí)符,也稱消息名;(3)零個(gè)或多個(gè)參數(shù)。繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義他們。單繼承指一個(gè)類只允許有一個(gè)父類多重繼承指一個(gè)類允許有多個(gè)父類。多態(tài)性是指同樣的消息被不同的對(duì)象接受時(shí)可導(dǎo)致完全不同的行動(dòng)的現(xiàn)象。第五十六頁(yè),共一百零五頁(yè),2022年,8月28日第57頁(yè)程序設(shè)計(jì)基礎(chǔ)方面的考題1.符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和【】
.2.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是A)可封裝
D)自頂向下
C)模塊化
D)逐步求精3.以下敘述中正確的是。A)程序設(shè)計(jì)的任務(wù)就是編寫程序代碼并上機(jī)調(diào)試B)程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)C)程序設(shè)計(jì)的任務(wù)就是確定所用算法D)以上三種說(shuō)法都不完整4.在面向?qū)ο蠓椒ㄖ?,類的?shí)例稱為【____】。(2005年4月)5.在面向?qū)ο蠓椒ㄖ?【____】描述的是具有相似屬性與操作的一組對(duì)象。(2006年4月)(順序結(jié)構(gòu))A
D對(duì)象類第五十七頁(yè),共一百零五頁(yè),2022年,8月28日第58頁(yè)第三章軟件工程基礎(chǔ)計(jì)算機(jī)軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。
第五十八頁(yè),共一百零五頁(yè),2022年,8月28日第59頁(yè)1.軟件工程概念軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。
軟件工程包括3個(gè)要素:方法、工具和過(guò)程。軟件周期:軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程。
軟件生命周期三個(gè)階段:軟件定義、軟件開發(fā)、運(yùn)行維護(hù),主要活動(dòng)階段是:
(1)可行性研究與計(jì)劃制定;
(2)需求分析;
(3)軟件設(shè)計(jì);
(4)軟件實(shí)現(xiàn);
(5)軟件測(cè)試;
(6)運(yùn)行和維護(hù)。第五十九頁(yè),共一百零五頁(yè),2022年,8月28日第60頁(yè)2.結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法:著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。結(jié)構(gòu)化分析的常用工具(1)數(shù)據(jù)流圖;
(2)數(shù)據(jù)字典;
(3)判定樹;
判定表。
(4)軟件需求規(guī)格說(shuō)明書第六十頁(yè),共一百零五頁(yè),2022年,8月28日第61頁(yè)3.結(jié)構(gòu)化設(shè)計(jì)方法軟件設(shè)計(jì)包括:總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。優(yōu)秀軟件應(yīng)高內(nèi)聚,低耦合。常見的過(guò)程設(shè)計(jì)工具有:圖形工具(程序流程圖,N-S,PAD)表格工具(判定表)語(yǔ)言工具(PDL偽碼)第六十一頁(yè),共一百零五頁(yè),2022年,8月28日第62頁(yè)4.軟件測(cè)試
軟件測(cè)試的目的:發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。
軟件測(cè)試方法:
靜態(tài)測(cè)試:
包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,主要通過(guò)人工進(jìn)行。
動(dòng)態(tài)測(cè)試:
是基本計(jì)算機(jī)的測(cè)試,主要包括白盒測(cè)試方法和黑盒測(cè)試方法
軟件測(cè)試過(guò)程一般按4個(gè)步驟進(jìn)行:?jiǎn)卧獪y(cè)試、集成測(cè)試、驗(yàn)收測(cè)試(確認(rèn)測(cè)試)和系統(tǒng)測(cè)試。第六十二頁(yè),共一百零五頁(yè),2022年,8月28日第63頁(yè)(1)下面敘述中錯(cuò)誤的是
A)軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤
B)對(duì)被調(diào)試的程序進(jìn)行“錯(cuò)誤定位”是程序調(diào)試的必要步驟
C)程序調(diào)試通常也稱為DebugD)軟件測(cè)試應(yīng)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性(2)軟件測(cè)試可分為白盒測(cè)試和黑盒測(cè)試。基本路徑測(cè)試屬于【】測(cè)試。(2009年3月)(3)
按照軟件測(cè)試的一般步驟,集成測(cè)試應(yīng)在_____測(cè)試之后進(jìn)行。(4)軟件工程三要素包括方法、工具和過(guò)程,其中,_____支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制和管理。(2008年9月)(5)軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合C)低內(nèi)聚高耦合D)高內(nèi)聚高耦合A
軟件工程方面的考題:白盒
單元過(guò)程B第六十三頁(yè),共一百零五頁(yè),2022年,8月28日第64頁(yè)(6)下列敘述中正確的是AA)軟件交付使用后還需要進(jìn)行維護(hù)B)軟件一旦交付使用就不需要再進(jìn)行維護(hù)C)軟件交付使用后其生命周期就結(jié)束D)軟件維護(hù)是指修復(fù)程序中被破壞的指令(7)程序流程圖中的菱形框表示的是【2】。(8)軟件開發(fā)過(guò)程主要分為需求分析、設(shè)計(jì)、編碼與測(cè)試四個(gè)階段,其中【3】階段產(chǎn)生“軟件需求規(guī)格說(shuō)明書。
(9)下列敘述中正確的是
A)軟件測(cè)試應(yīng)該由程序開發(fā)者來(lái)完成
B)程序經(jīng)調(diào)試后一般不需要再測(cè)試
C)軟件維護(hù)只包括對(duì)程序代碼的維護(hù)
D)以上三種說(shuō)法都不對(duì)A
邏輯條件需求分析D第六十四頁(yè),共一百零五頁(yè),2022年,8月28日第65頁(yè)(3)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是
A)編輯軟件B)操作系統(tǒng)
C)教務(wù)管理系統(tǒng)D)瀏覽器(4)軟件(程序)調(diào)試的任務(wù)是
A)診斷和改正程序中的錯(cuò)誤B)盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
C)發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤D)確定程序中錯(cuò)誤的性質(zhì)(5)數(shù)據(jù)流程圖(DFD圖)是
A)軟件概要設(shè)計(jì)的工具B)軟件詳細(xì)設(shè)計(jì)的工具
C)結(jié)構(gòu)化方法的需求分析工具D)面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?6)軟件生命周期可分為定義階段,開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于
A)定義階段B)開發(fā)階段
C)維護(hù)階段D)上述三個(gè)階段經(jīng)典考題
BA
C
B
第六十五頁(yè),共一百零五頁(yè),2022年,8月28日第66頁(yè)第四章數(shù)據(jù)庫(kù)設(shè)計(jì)基礎(chǔ)數(shù)據(jù):實(shí)際上就是描述事物的符號(hào)記錄。數(shù)據(jù)庫(kù):是數(shù)據(jù)的集合,具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個(gè)應(yīng)用程序共享。數(shù)據(jù)庫(kù)管理系統(tǒng):一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是數(shù)據(jù)庫(kù)的核心。數(shù)據(jù)庫(kù)系統(tǒng):由數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、硬件平臺(tái)(硬件)、軟件平臺(tái)(軟件)五個(gè)部分構(gòu)成的運(yùn)行實(shí)體。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng):由數(shù)據(jù)庫(kù)系統(tǒng)、應(yīng)用軟件及應(yīng)用界面三者組成。第六十六頁(yè),共一百零五頁(yè),2022年,8月28日第67頁(yè)數(shù)據(jù)庫(kù)系統(tǒng)第六十七頁(yè),共一百零五頁(yè),2022年,8月28日第68頁(yè)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的基本特點(diǎn):數(shù)據(jù)的集成性數(shù)據(jù)的高共享性與低冗余性數(shù)據(jù)獨(dú)立性(物理獨(dú)立性與邏輯獨(dú)立性)數(shù)據(jù)統(tǒng)一管理與控制。數(shù)據(jù)庫(kù)存放數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,具有集成與共享的特點(diǎn)。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式:
(1)概念模式(2)外模式(3)內(nèi)模式數(shù)據(jù)庫(kù)系統(tǒng)的兩級(jí)映射:
(1)概念模式到內(nèi)模式的映射;
(2)外模式到概念模式的映射。1.數(shù)據(jù)庫(kù)系統(tǒng)的基本概念第六十八頁(yè),共一百零五頁(yè),2022年,8月28日69應(yīng)用外模式(用戶數(shù)據(jù)庫(kù))應(yīng)用外模式(用戶數(shù)據(jù)庫(kù))應(yīng)用外模式(用戶數(shù)據(jù)庫(kù))概念模式(概念數(shù)據(jù)庫(kù))內(nèi)模式(物理數(shù)據(jù)庫(kù))數(shù)據(jù)庫(kù)外模式→概念模式映射概念模式→內(nèi)模式映射模式第六十九頁(yè),共一百零五頁(yè),2022年,8月28日702.數(shù)據(jù)模型數(shù)據(jù)模型(DataModel)是對(duì)客觀事物及其關(guān)系的數(shù)據(jù)描述。數(shù)據(jù)庫(kù)中的數(shù)據(jù)模型可以將復(fù)雜的現(xiàn)實(shí)世界要求反映到計(jì)算機(jī)數(shù)據(jù)庫(kù)中的物理世界?,F(xiàn)實(shí)世界信息世界計(jì)算機(jī)世界
數(shù)據(jù)模型是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動(dòng)態(tài)行為和約束條件。數(shù)據(jù)模型所描述的內(nèi)容包含:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)約束。第七十頁(yè),共一百零五頁(yè),2022年,8月28日第71頁(yè)2.數(shù)據(jù)模型E-R模型的基本概念
(1)實(shí)體:現(xiàn)實(shí)世界中的事物;
(2)屬性:事物的特性;
(3)聯(lián)系:現(xiàn)實(shí)世界中事物間的關(guān)系。實(shí)體集的關(guān)系有一對(duì)一、一對(duì)多、多對(duì)多的聯(lián)系。在一所學(xué)校,一門課程與學(xué)生之間是一對(duì)多的關(guān)系。在一所學(xué)校,多門課程與多個(gè)學(xué)生之間是多對(duì)多的關(guān)系。
一個(gè)家庭,夫妻關(guān)系是一對(duì)一關(guān)系。第七十一頁(yè),共一百零五頁(yè),2022年,8月28日72E-R模型的圖示法用簡(jiǎn)單的幾何圖形表示實(shí)體集、屬性與聯(lián)系。(1)實(shí)體集表示法在E-R圖中用矩形表表示實(shí)體集,在矩形內(nèi)寫上實(shí)體集名稱。如實(shí)體集學(xué)生(student)、實(shí)體集課程(course)(2)屬性表示法在E-R圖中用橢圓形表示屬性,在橢圓形內(nèi)寫上該屬性名稱。如學(xué)生有屬性:學(xué)號(hào)(S#)、姓名(Sn)及年齡(Sa)可用如下表示。studentcourseS#SnSa第七十二頁(yè),共一百零五頁(yè),2022年,8月28日73(3)聯(lián)系表示法在E-R圖中用菱形(內(nèi)寫上聯(lián)系名)表示聯(lián)系。如學(xué)生與課程的聯(lián)系SC,如下圖所示:(4)實(shí)體集與屬性間的聯(lián)系關(guān)系屬性依附于實(shí)體集,它們之間有聯(lián)系關(guān)系用無(wú)向線段表示。SCstudentS#SnSa第七十三頁(yè),共一百零五頁(yè),2022年,8月28日74屬性也依附于聯(lián)系,它們之間也有聯(lián)系關(guān)系,因此也可用無(wú)向線段,如聯(lián)系SC可與學(xué)生的課程成績(jī)屬性G建立聯(lián)系并用下圖表示。(5)實(shí)體集與聯(lián)系間的連接關(guān)系(也可用無(wú)向線段)SCGstudentcourseSC第七十四頁(yè),共一百零五頁(yè),2022年,8月28日第75頁(yè)E-R模型之間的聯(lián)接關(guān)系:實(shí)體是概念世界中的基本單位,屬性有屬性域,每個(gè)實(shí)體可取屬性域內(nèi)的值。一個(gè)實(shí)體的所有屬性值叫元組。
E-R模型的圖示法:(1)實(shí)體集表示法;用長(zhǎng)方形(2)屬性表法;用橢圓形(3)聯(lián)系表示法。用菱形,(m:n)第七十五頁(yè),共一百零五頁(yè),2022年,8月28日76關(guān)系模型的基本運(yùn)算:
1.插入集合的并運(yùn)算
2.刪除集合的差(交)
運(yùn)算
3.修改集合的差|并(除)運(yùn)算。
4.查詢(投影、選擇、笛卡爾積運(yùn)算)3.關(guān)系代數(shù)集合的并運(yùn)算第七十六頁(yè),共一百零五頁(yè),2022年,8月28日77
由關(guān)系R和S通過(guò)交運(yùn)算得到關(guān)系T,第七十七頁(yè),共一百零五頁(yè),2022年,8月28日78用于查詢的集合運(yùn)算:(1)投影對(duì)于關(guān)系R內(nèi)的域指定稱為投影運(yùn)算。S關(guān)系就是對(duì)R關(guān)系指定A和B兩個(gè)域的結(jié)果ABCa32b01c21ABa3b0c2RS3.關(guān)系代數(shù)第七十八頁(yè),共一百零五頁(yè),2022年,8月28日79關(guān)系代數(shù)(2)選擇選擇運(yùn)算的關(guān)系是由關(guān)系R中那些滿足邏輯條件的元組所組成。S關(guān)系就是R關(guān)系中滿足A=‘a(chǎn)’的結(jié)果ABCa32b01a69c21RSABCa32a69有了投影和選擇運(yùn)算,我們對(duì)一個(gè)關(guān)系內(nèi)的任意行、列的數(shù)據(jù)都可以方便的找到。第七十九頁(yè),共一百零五頁(yè),2022年,8月28日80笛卡爾積是對(duì)兩個(gè)關(guān)系的合并操作。有三個(gè)關(guān)系R、S和T
R關(guān)系n1行,m1列
S關(guān)系n2行,m2列
T關(guān)系行數(shù)=n1*n2列數(shù)=m1+m2AmnBC13ABCm13n13RST(3)笛卡爾積運(yùn)算第八十頁(yè),共一百零五頁(yè),2022年,8月28日81
笛卡爾積建立兩個(gè)關(guān)系的連接,但得到的關(guān)系龐大且數(shù)據(jù)大量冗余。在實(shí)際應(yīng)用中一般相互連接的關(guān)系往往須滿足一些條件,所得到的結(jié)果也較為簡(jiǎn)單。自然連接滿足兩個(gè)關(guān)系中有公共域,通過(guò)公共域的相等值進(jìn)行連接。有三個(gè)關(guān)系R、S和T
R關(guān)系n1行,m1列
S關(guān)系n2行,m2列
T關(guān)系行數(shù)≤(n1或n2中行數(shù)多的一個(gè))列數(shù)≤m1+m2(4)自然連接運(yùn)算第八十一頁(yè),共一百零五頁(yè),2022年,8月28日82有三個(gè)關(guān)系R、S和T,由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則使用的運(yùn)算為笛卡爾積ABk1f1k2r1BCf13r13ABCk1f13k2r13RST自然連接ABk1f1k2r1BCf13r13ABBCk1f1f13k1f1r13k2r1f13k2r1r13RST第八十二頁(yè),共一百零五頁(yè),2022年,8月28日83在三個(gè)關(guān)系R,S和T如下:由關(guān)系R和S通過(guò)自然連接運(yùn)算得到關(guān)系T。ABm1n2BC1335ABCm13RST第八十三頁(yè),共一百零五頁(yè),2022年,8月28日第84頁(yè)
數(shù)據(jù)庫(kù)設(shè)計(jì)與管理數(shù)據(jù)庫(kù)設(shè)計(jì)的兩種方法:
(1)面向數(shù)據(jù):以信息需求為主,兼顧處理需求;
(2)面向過(guò)程:以處理需求為主,兼顧信息需求。
數(shù)據(jù)庫(kù)的生命周期:需求分析階段結(jié)構(gòu)析方法和面向?qū)ο蟮姆椒〝?shù)據(jù)字典是各類數(shù)據(jù)描述的集合,包括5個(gè)部分:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理過(guò)程。概念設(shè)計(jì)階段分析數(shù)據(jù)內(nèi)在語(yǔ)義關(guān)系。E-R模型邏輯設(shè)計(jì)階段物理設(shè)計(jì)階段編碼階段測(cè)試階段運(yùn)行階段進(jìn)一步修改階段第八十四頁(yè),共一百零五頁(yè),2022年,8月28日854.4數(shù)據(jù)庫(kù)設(shè)計(jì)與管理數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)(DBAS)中,核心問題是數(shù)據(jù)庫(kù)設(shè)計(jì)。需求分析概念設(shè)計(jì)邏輯設(shè)計(jì)物理設(shè)計(jì)編碼測(cè)試運(yùn)行進(jìn)一步修改分析客戶的業(yè)務(wù)和數(shù)據(jù)處理需求;設(shè)計(jì)數(shù)據(jù)庫(kù)的E-R模型圖,確認(rèn)需求信息的正確和完整;將E-R圖轉(zhuǎn)換為多張表,進(jìn)行邏輯設(shè)計(jì),并應(yīng)用數(shù)據(jù)庫(kù)設(shè)計(jì)的三大范式進(jìn)行審核;
數(shù)據(jù)庫(kù)內(nèi)模式包括存儲(chǔ)結(jié)構(gòu)和存取方法。
重點(diǎn)記8個(gè)階段選擇具體數(shù)據(jù)庫(kù)進(jìn)行物理實(shí)現(xiàn),并編寫代碼實(shí)現(xiàn)前端應(yīng)用;
第八十五頁(yè),共一百零五頁(yè),2022年,8月28日第86頁(yè)數(shù)據(jù)庫(kù)管理的內(nèi)容(1)數(shù)據(jù)庫(kù)的建立;(2)數(shù)據(jù)庫(kù)的調(diào)整;(3)數(shù)據(jù)庫(kù)的重組;(4)數(shù)據(jù)庫(kù)安全性與完整性控制;(5)數(shù)據(jù)庫(kù)的故障恢復(fù);(6)數(shù)據(jù)庫(kù)監(jiān)控。第八十六頁(yè),共一百零五頁(yè),2022年,8月28日8706年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷一、單選題4)在數(shù)據(jù)庫(kù)系統(tǒng)中,用戶所見的數(shù)據(jù)模式為A)概念模式B)外模式C)內(nèi)模式D)物理模式5)數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和A)編碼設(shè)計(jì)B)測(cè)試階段C)運(yùn)行階段D)物理設(shè)計(jì)D4D5√√第八十七頁(yè),共一百零五頁(yè),2022年,8月28日886)設(shè)有如下三個(gè)表AmnBC13ABCm13n13下列操作中正確的是A)T=R∩SB)T=R∪SC)T=R×SD)=R/SRSTD6√A)并B)交C)笛卡爾積D)除第八十八頁(yè),共一百零五頁(yè),2022年,8月28日899)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的A)存儲(chǔ)問題B)共享問題C)安全問題D)保護(hù)文題二、填空題3)一個(gè)關(guān)系表的行稱為【3】
D9T3√元組第八十九頁(yè),共一百零五頁(yè),2022年,8月28日9007年4月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷一、單選題8)在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)為
A)并
B)交
C)投影
D)笛卡兒乘積9)在E-R圖中,用來(lái)表示實(shí)體之間聯(lián)系的圖形是
A)矩形
B)橢圓形
C)菱形
D)平行四邊形√√D9D8第九十頁(yè),共一百零五頁(yè),2022年,8月28日9110)下列敘述中錯(cuò)誤的是
A)在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
B)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題
C)數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)
D)數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持√D10二、填空題3)在數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【3】
。數(shù)據(jù)庫(kù)管理系統(tǒng)或DBMST3第九十一頁(yè),共一百零五頁(yè),2022年,8月28日9207年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷一、單選題9)下列敘述中正確的是A)數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持B)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題C)數(shù)據(jù)庫(kù)管理系統(tǒng)就是數(shù)據(jù)庫(kù)系統(tǒng)
D)以上三種說(shuō)法都不對(duì) D9√第九十二頁(yè),共一百零五頁(yè),2022年,8月28日9310)下列敘述中正確的是A)為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系B)表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)C)一個(gè)關(guān)系的屬性名表稱為關(guān)系模式D)一個(gè)關(guān)系可以包括多個(gè)二維表二、填空題5)在E-R圖中,矩形表示[5]
。D10T5√實(shí)體集第九十三頁(yè),共一百零五頁(yè),2022年,8月28日9408年4月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷一、單選題8)在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于A)需求分析階段B)概念設(shè)計(jì)階段C)邏輯設(shè)計(jì)階段D)物理設(shè)計(jì)階段D8√第九十四頁(yè),共一百零五頁(yè),2022年,8月28日95(9)有三個(gè)關(guān)系R、S和T如下:
由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為A.并B.自然連接C.笛卡爾積D.交D9√第九十五頁(yè),共一百零五頁(yè),2022年,8月28日9610)設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī)),則表SC的關(guān)鍵字(鍵或碼)為A)課號(hào),成績(jī)B)學(xué)號(hào),成績(jī)C)學(xué)號(hào),課號(hào)D)學(xué)號(hào),姓名,成績(jī)二、填空題4)在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體之間聯(lián)系的是______。5)在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)定義語(yǔ)言、數(shù)據(jù)操縱語(yǔ)言和數(shù)據(jù)控制語(yǔ)言中,_________
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年小學(xué)信息技術(shù)工作計(jì)劃范例(二篇)
- 2024年衛(wèi)生院車輛管理制度(二篇)
- 2024年小區(qū)地上車位買賣合同范本(二篇)
- 2024年安全工作例會(huì)管理制度(四篇)
- 2024年幼兒園中班家長(zhǎng)工作計(jì)劃(三篇)
- 2024年小班教師工作計(jì)劃范文(二篇)
- 2024年工會(huì)個(gè)人工作總結(jié)范文(二篇)
- 2024年幼兒園區(qū)域活動(dòng)計(jì)劃范例(三篇)
- 2024年小學(xué)教師管理制度范本(四篇)
- 2024年委托加工協(xié)議參考模板(二篇)
- 銷售人員人才畫像
- 消殺服務(wù)承包合同范本
- 上海市世外中學(xué)2023-2024學(xué)年九年級(jí)上學(xué)期期中物理測(cè)試卷
- 00015-英語(yǔ)二自學(xué)教程-unit12
- 2023年開放大學(xué)理工英語(yǔ)4(邊學(xué)邊練)題目與答案
- 文件資料交接清單
- 介紹福建龍巖的PPT模板
- 縉云縣中小學(xué)用地規(guī)模一覽表
- 2024屆高考語(yǔ)文復(fù)習(xí):詩(shī)歌鑒賞寄江州白司馬
- 垃圾儲(chǔ)坑基坑支護(hù)開挖專項(xiàng)施工方案
- 咪達(dá)唑侖注射液
評(píng)論
0/150
提交評(píng)論