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

下載本文檔

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

文檔簡介

關(guān)于計(jì)算機(jī)級公共基礎(chǔ)知識考前必看第一頁,共一百零五頁,2022年,8月28日第2頁計(jì)算機(jī)二級考試公共基礎(chǔ)知識大綱

數(shù)據(jù)結(jié)構(gòu)與算法程序設(shè)計(jì)基礎(chǔ)軟件工程基礎(chǔ)數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)這四個方面在試卷中出現(xiàn)的情況是:選擇題10個(20分),填空題5個(10分),總分值占到了試卷卷面分的30%,是一個不小的比例。

第二頁,共一百零五頁,2022年,8月28日第3頁算法⒈算法的基本概念

2.算法復(fù)雜度的概念和意義

一、基本數(shù)據(jù)結(jié)構(gòu)與算法

數(shù)據(jù)結(jié)構(gòu)⒈數(shù)據(jù)結(jié)構(gòu)的概念⒉線性表⒊棧和隊(duì)列⒋樹與二叉樹⒌查找技術(shù)⒍排序技術(shù)

對于等級考試,這個部分的考核重點(diǎn)主要在算法和數(shù)據(jù)結(jié)構(gòu)的基本概念、二叉樹(遍歷、結(jié)點(diǎn)),還有排序和查找考試中也經(jīng)常會涉及到。第三頁,共一百零五頁,2022年,8月28日第4頁算法的定義對解題方案準(zhǔn)確而完整的描述稱為算法。算法是程序設(shè)計(jì)的核心⒈算法的基本概念

算法是在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。通俗點(diǎn)說,就是計(jì)算機(jī)解題的過程(計(jì)算的方法)。在這個過程中,無論是形成解題思路(推理實(shí)現(xiàn)的算法)還是編寫程序(操作實(shí)現(xiàn)的算法),都是在實(shí)施某種算法。例:n個數(shù)從大到小進(jìn)行排序。

有多種排序方法,常用的有冒泡排序、選擇排序等。第四頁,共一百零五頁,2022年,8月28日第5頁

2.

算法的基本特征一個算法應(yīng)該具有以下五個重要的特征:

有窮性確定性輸入輸出可行性一個算法必須保證執(zhí)行有限步之后結(jié)束;算法的每一步驟必須有確切的定義;一個算法有0個或多個輸入,以刻畫運(yùn)算對象的初始情況,所謂0個輸入是指算法本身定除了初始條件;一個算法有一個或多個輸出,以反映對輸入數(shù)據(jù)加工后的結(jié)果。沒有輸出的算法是毫無意義的;算法原則上能夠精確地運(yùn)行,而且人們用筆和紙做有限次運(yùn)算后即可完成第五頁,共一百零五頁,2022年,8月28日第6頁算法與計(jì)算機(jī)程序算法____是一組邏輯步驟程序——用計(jì)算機(jī)語言描述的算法3.算法的表示INPUTrS=3.14*r*rPTINTS開始輸入RS=3.14*

R*R輸出S結(jié)束問題:輸入園的半徑,計(jì)算園的面積

一個算法的表示需要使用一些語言形式。傳統(tǒng)的算法-------圖形法,如“流程圖”和N-S圖目前常用的方法-------使用偽碼描述算法。第六頁,共一百零五頁,2022年,8月28日第7頁4.

算法評價(jià)評價(jià)一個算法優(yōu)劣的主要標(biāo)準(zhǔn)是算法的執(zhí)行效率和存儲需求:時(shí)間復(fù)雜度:執(zhí)行這個算法所需要的計(jì)算工作量一般可以用算法在執(zhí)行過程中所需基本運(yùn)算的執(zhí)行次數(shù)來度量計(jì)算工作量空間復(fù)雜度:執(zhí)行這個算法所需要的內(nèi)存空間

算法在執(zhí)行過程中臨時(shí)占用的存儲空間

時(shí)間復(fù)雜度它大致等于計(jì)算機(jī)執(zhí)行一種簡單操作所需的平均時(shí)間與算法中進(jìn)行簡單操作的次數(shù)的乘積。

一個算法在計(jì)算機(jī)存儲器上所占用的存儲空間,包括存儲算法本身所占用的存儲空間、算法中的輸入輸出數(shù)據(jù)所占用的存儲空間和算法在運(yùn)行過程中臨時(shí)占用的存儲空間這三個部分第七頁,共一百零五頁,2022年,8月28日第8頁總結(jié)對解題方案準(zhǔn)確而完整的描述稱為算法。算法不等于程序,也不等計(jì)算機(jī)方法,程序的編制不可能優(yōu)于算法的設(shè)計(jì)。算法評價(jià):

時(shí)間復(fù)雜度:執(zhí)行這個算法所需要的計(jì)算工作量空間復(fù)雜度:執(zhí)行這個算法所需要的內(nèi)存空間第八頁,共一百零五頁,2022年,8月28日第9頁(1)在計(jì)算機(jī)中,算法是指______。

A.查詢方法B.加工方法

C.解題方案的準(zhǔn)確而完整的描述D.排序方法(2)下列敘述中正確的是A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B)算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的D)算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)(3)算法的有窮性是指A)算法程序的運(yùn)行時(shí)間是有限的B)算法程序所處理的數(shù)據(jù)量是有限的C)算法程序的長度是有限的D)算法只能被有限的用戶使用(c)(B)算法習(xí)題:(A)第九頁,共一百零五頁,2022年,8月28日第10頁(4)算法的時(shí)問復(fù)雜度是指

A)算法的執(zhí)行時(shí)間

B)算法所處理的數(shù)據(jù)量

C)算法程序中的語句或指令條數(shù)

D)算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)(5)算法的空間復(fù)雜度是指

A)算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲空間B)算法所處理的數(shù)據(jù)量C)算法程序中的語句或指令條數(shù)D)算法在執(zhí)行過程中所需要的臨時(shí)工作單元數(shù)(6)下列敘述中正確的是

A)一個算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大

B)一個算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小

C)一個算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小

D)上述三種說法都不對(D)計(jì)算工作量(A)(D)第十頁,共一百零五頁,2022年,8月28日第11頁

計(jì)算機(jī)在進(jìn)行數(shù)據(jù)處理時(shí),實(shí)際需要處理的數(shù)據(jù)元素一般有很多,而這些大量的數(shù)據(jù)元素都需要存放在計(jì)算機(jī)中,因此,大量的數(shù)據(jù)元素在計(jì)算機(jī)中如何組織,以便提高數(shù)據(jù)處理的效率,并且節(jié)省計(jì)算機(jī)的存儲空間,這是進(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í)處理特征完全不同且互相之間沒有任何關(guān)系的各類數(shù)據(jù)元素,對于具有不同特征的數(shù)據(jù)元素總是分別進(jìn)行處理。一般情況下,在具有相同特征的數(shù)據(jù)元素集合中,各個數(shù)據(jù)元素之間存在有某種關(guān)系(即聯(lián)系),這種關(guān)系反映了該集合中的數(shù)據(jù)元素所固有的一種結(jié)構(gòu)。第十一頁,共一百零五頁,2022年,8月28日第12頁二.數(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é)科,它包括三個方面。

(1)數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);(2)在對數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲關(guān)系,即數(shù)據(jù)的存儲結(jié)構(gòu);(3)對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。第十二頁,共一百零五頁,2022年,8月28日第13頁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)的圖形表示父親兒子女兒第十三頁,共一百零五頁,2022年,8月28日第14頁常見的邏輯結(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)中的每個元素之間存在一個對一個的關(guān)系;②樹形結(jié)構(gòu)結(jié)構(gòu)中的每個元素之間存在一個對多個的關(guān)系;③圖形結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)結(jié)構(gòu)中的每個元素之間存在多個對多個的關(guān)系。其中,樹形結(jié)構(gòu)和圖形結(jié)構(gòu)統(tǒng)稱為非線形結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)可以用二元關(guān)系表示,也可以直觀地用圖形來表示。第十四頁,共一百零五頁,2022年,8月28日第15頁常見的數(shù)據(jù)結(jié)構(gòu)

1.線性表

2.棧和隊(duì)列

3.樹第十五頁,共一百零五頁,2022年,8月28日第16頁1.線性表(LinearList)

線性表是由n(n≥0)個數(shù)據(jù)元素

a1,a2,…,ai,…,an組成的一個有限序列。簡單的線性表春夏秋冬復(fù)雜的線性表記錄102011001

張三男…

記錄202011003李四女…記錄3記錄4第十六頁,共一百零五頁,2022年,8月28日第17頁2.棧和隊(duì)列棧和隊(duì)列都是特殊的線性表。

棧(Stack)及其基本運(yùn)算隊(duì)列(Queue)及其基本運(yùn)算循環(huán)隊(duì)列及其基本運(yùn)算第十七頁,共一百零五頁,2022年,8月28日第18頁棧(Stack)是一種特殊的線性表。其特點(diǎn)是插入和刪除運(yùn)算都只能在線性表的一端進(jìn)行。棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的線性表。棧的物理存儲結(jié)構(gòu)可以用順序結(jié)構(gòu),也可以用鏈表結(jié)構(gòu)。下面討論順序存儲結(jié)構(gòu)中棧元素的插入和刪除運(yùn)算。順序棧的進(jìn)棧和出棧運(yùn)算棧的基本運(yùn)算有三種:入棧、退棧和讀棧頂元素

在順序棧中插入和刪除運(yùn)算不需要移動表中其他數(shù)據(jù)元素。第十八頁,共一百零五頁,2022年,8月28日第19頁隊(duì)列(Queue)是一種特殊的線性表。其特點(diǎn)是所有的插入都在表的一端進(jìn)行,所有的刪除運(yùn)算都在表的另一端進(jìn)行。隊(duì)列是按照“先進(jìn)先出”或“后進(jìn)后出”的原則組織數(shù)據(jù)的線性表。隊(duì)列的物理存儲結(jié)構(gòu)可以用順序結(jié)構(gòu),也可以用鏈?zhǔn)浇Y(jié)構(gòu)。順序隊(duì)列的運(yùn)算棧有三種操作:入棧\出棧\讀棧頂元素隊(duì)列有三種操作:入隊(duì)\出隊(duì)\讀隊(duì)首元素例:有入棧元素序列:ABCD,求可能的出棧序列.如是隊(duì)列又是什么情況呢?第十九頁,共一百零五頁,2022年,8月28日第20頁

循環(huán)隊(duì)列把隊(duì)列的存儲空間在邏輯上看作一個環(huán),當(dāng)R指向存儲空間的末端后,就把它重新置于始端。循環(huán)隊(duì)列的運(yùn)算隊(duì)列中進(jìn)行插入的一端稱做隊(duì)尾(rear),進(jìn)行刪除的一端稱做隊(duì)首(front)。

習(xí)題:數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),循環(huán)隊(duì)列屬于【】結(jié)構(gòu)。(2005年9月)答案:存儲結(jié)構(gòu)。第二十頁,共一百零五頁,2022年,8月28日第21頁常見數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)線性表

線性結(jié)構(gòu)棧

是特殊的線性表

隊(duì)列

也是一種操作受限的特殊的線性表樹(樹型結(jié)構(gòu))是一種重要的非線形數(shù)據(jù)結(jié)構(gòu)第二十一頁,共一百零五頁,2022年,8月28日第22頁數(shù)據(jù)存儲結(jié)構(gòu)方面的考題

1:數(shù)據(jù)的存儲結(jié)構(gòu)是指

A)存儲在外存中的數(shù)據(jù)B)數(shù)據(jù)所占的存儲空間量

C)數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式D)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示2.下列敘述中正確的是

A)棧是“先進(jìn)先出”的線性表

B)隊(duì)列是“先進(jìn)后出”的線性表

C)循環(huán)隊(duì)列是非線性結(jié)構(gòu)

D)有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(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第二十二頁,共一百零五頁,2022年,8月28日第23頁5。下列敘述中正確的是()。

A)順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的

B)順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)

C)順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表

D)鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間答案:A。6。下列關(guān)于棧的敘述正確的是

A)棧按“先進(jìn)先出”組織數(shù)據(jù)B)棧按“先進(jìn)后出”組織數(shù)據(jù)

C)只能在棧底插入數(shù)據(jù)D)不能刪除數(shù)據(jù)

答案:B。7.一個隊(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第二十三頁,共一百零五頁,2022年,8月28日第24頁一個非空的數(shù)據(jù)結(jié)構(gòu)若滿足下面的兩個條件,則這種數(shù)據(jù)結(jié)構(gòu)即為線性結(jié)構(gòu)。①有且僅有一個根結(jié)點(diǎn);②除第一個結(jié)點(diǎn)外,每一個結(jié)點(diǎn)最多有一個直接前驅(qū)結(jié)點(diǎn);③除最后一個結(jié)點(diǎn)外,每一個結(jié)點(diǎn)最多有一個直接后繼結(jié)點(diǎn)。

線性結(jié)構(gòu)與非線性結(jié)構(gòu)線性表、棧和隊(duì)列都是線性結(jié)構(gòu)

一個數(shù)據(jù)結(jié)構(gòu)不是線性結(jié)構(gòu),則稱其為非線性結(jié)構(gòu)。a1a2a5a3a4HEAD319510線性鏈表的邏輯狀態(tài)第二十四頁,共一百零五頁,2022年,8月28日第25頁樹型結(jié)構(gòu)是一種重要的非線性結(jié)構(gòu)。

樹的概念二叉樹的概念二叉樹的存儲二叉樹的遍歷3.樹與二叉樹第二十五頁,共一百零五頁,2022年,8月28日第26頁樹的概念

樹的定義:n個結(jié)點(diǎn)的有限集。(n>=0)

ABDFECGHIJKM

根:onlyone

若n=0,則稱為空樹;否則,當(dāng)n>1時(shí),其余結(jié)點(diǎn)被分成m(m>0)個互不相交的子集T1,T2,...,Tm,每個子集又是一棵樹。由此可以看出,樹的定義是遞歸的。

Question:如何辨別根?A只有一個結(jié)點(diǎn)的樹第二十六頁,共一百零五頁,2022年,8月28日第27頁樹型結(jié)構(gòu)的常用術(shù)語ABDFECGHIJKM

結(jié)點(diǎn)的度一個結(jié)點(diǎn)的子樹的個數(shù);Q:結(jié)點(diǎn)A、G的度數(shù)?

樹的度樹中所有結(jié)點(diǎn)度的最大值;Q:右圖中樹的度?

終端結(jié)點(diǎn)度為0的結(jié)點(diǎn);

Q:圖中葉子結(jié)點(diǎn)有幾個?7

非終端結(jié)點(diǎn)

度不為0的結(jié)點(diǎn);

Q:圖中非終端結(jié)點(diǎn)有幾個?5孩子結(jié)點(diǎn)、雙親結(jié)點(diǎn)、兄弟結(jié)點(diǎn)、結(jié)點(diǎn)的子孫、結(jié)點(diǎn)的祖先第二十七頁,共一百零五頁,2022年,8月28日第28頁樹型結(jié)構(gòu)的常用術(shù)語ABDFECGHIJKM

結(jié)點(diǎn)的層次樹中根結(jié)點(diǎn)的層次為1,根結(jié)點(diǎn)子樹的根為第2層,以此類推;

Q:圖中結(jié)點(diǎn)F的層次?

樹的深度

樹中所有結(jié)點(diǎn)層次的最大值;

Q:圖中樹的深度?

有序樹、無序樹如果樹中每棵子樹從左向右的排列擁有一定的順序,不得互換,則稱為有序樹,否則稱為無序樹。①②③④第二十八頁,共一百零五頁,2022年,8月28日第29頁二叉樹的概念

定義:二叉樹是一種有序的樹形結(jié)構(gòu)。它與一般樹形結(jié)構(gòu)的區(qū)別是:每個結(jié)點(diǎn)最多有兩棵子樹;子樹有左右之分,次序不能任意顛倒。

二叉樹的5種基本形態(tài)第二十九頁,共一百零五頁,2022年,8月28日第30頁二叉樹的性質(zhì)【性質(zhì)1】

在二叉樹的第i層上最多有2i-1個結(jié)點(diǎn)(i≥1)ABCDFEHG第三十頁,共一百零五頁,2022年,8月28日第31頁【性質(zhì)2】深度為h的二叉樹最多有2h-1個結(jié)點(diǎn)(h≥1)滿二叉樹:除最后一層外,每一層上的所有結(jié)點(diǎn)都有兩個子結(jié)點(diǎn)。完全二叉樹:除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值;在最后一層上只缺少右邊的若干結(jié)點(diǎn)。第三十一頁,共一百零五頁,2022年,8月28日第32頁121314158910114567123滿二叉樹完全二叉樹12138910114567123

完全二叉樹是滿二叉樹滿二叉樹也是完全二叉樹第三十二頁,共一百零五頁,2022年,8月28日第33頁1213891011456123非完全二叉樹深度為4的完全二叉樹84567123第三十三頁,共一百零五頁,2022年,8月28日第34頁【性質(zhì)3】二叉樹上葉子結(jié)點(diǎn)數(shù)比度為2的結(jié)點(diǎn)數(shù)多1ABCDFEHG度為2的結(jié)點(diǎn)葉子結(jié)點(diǎn)第三十四頁,共一百零五頁,2022年,8月28日第35頁1:在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個數(shù)為

A)32

B)31

C)64

D)632:在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個數(shù)為【】

。3:一棵二叉樹中共有70個葉子結(jié)點(diǎn)與80個度為1的結(jié)點(diǎn),則該二叉樹中的總結(jié)點(diǎn)數(shù)為

A)219B)221C)229D)2314:某二叉樹中度為2的結(jié)點(diǎn)有18個,則該二叉樹中有【】個葉子結(jié)點(diǎn)。5:一棵二叉樹第六層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)數(shù)最多為【】個。

樹型結(jié)構(gòu)方面的考題

1答案:C。3答案:A。5答案:32。2答案:63。4答案:19。第三十五頁,共一百零五頁,2022年,8月28日第36頁二叉樹的遍歷

遍歷指不重復(fù)地訪問二叉樹中的所有結(jié)點(diǎn)。二叉樹的遍歷的次序與樹型結(jié)構(gòu)上的大多數(shù)運(yùn)算有聯(lián)系。遍歷的方式有三種(1)先(前)序遍歷(DLR)(2)中序遍歷(LDR)(3)后序遍歷(LRD)ABCDFEHG第三十六頁,共一百零五頁,2022年,8月28日第37頁二叉樹的遍歷

遍歷指不重復(fù)地訪問二叉樹中的所有結(jié)點(diǎn)。(1)先(前)序遍歷(DLR)若二叉樹為空,則結(jié)束遍歷操作;否則訪問根結(jié)點(diǎn);先序遍歷左子樹;先序遍歷右子樹。ABCDFEHG先序遍歷的結(jié)果:

ABECFGHD第三十七頁,共一百零五頁,2022年,8月28日第38頁(2)中序遍歷(LDR)若二叉樹為空,則結(jié)束遍歷操作;否則中序遍歷左子樹;訪問根結(jié)點(diǎn);中序遍歷右子樹。中序遍歷的結(jié)果:EBAFHGCD(3)后序遍歷(LRD)若二叉樹為空,則結(jié)束遍歷操作;否則后序遍歷左子樹;后序遍歷右子樹;訪問根結(jié)點(diǎn)。后序遍歷的結(jié)果:E

BHGFDCAABCDFEHG第三十八頁,共一百零五頁,2022年,8月28日第39頁先序序列:ABDGCEFH 中序序列:DGBAECHF 后序序列:GDBEHFCAABCFHDEG下圖所示的二叉樹經(jīng)過三種遍歷得到的順序分別為?練習(xí):根據(jù)先序遍歷序列,建立二叉樹第三十九頁,共一百零五頁,2022年,8月28日第40頁1:設(shè)二叉樹如下:

(2010年3月)

對該二叉樹進(jìn)行后序遍歷的結(jié)果為【3】樹型結(jié)構(gòu)方面的考題

22:對如下二叉樹(2006年4月)進(jìn)行后序遍歷的結(jié)果為A)ABCDEF

B)DBEAFCC)ABDECF

D)DEBFCA

EDBGHFCA

DABCFHDGE第四十頁,共一百零五頁,2022年,8月28日第41頁⒌查找技術(shù)

查找是數(shù)據(jù)處理的重要內(nèi)容。查找指在一個給定的數(shù)據(jù)結(jié)構(gòu)中查找指定的元素,該元素也稱關(guān)鍵字。若找到了滿足條件的結(jié)點(diǎn),稱查找成功;否則稱查找失敗。衡量一個查找算法的主要標(biāo)準(zhǔn)是查找過程中對關(guān)鍵字進(jìn)行的平均比較次數(shù)。通常根據(jù)不同的數(shù)據(jù)結(jié)構(gòu),采用不同的查找方法:順序查找二分查找第四十一頁,共一百零五頁,2022年,8月28日第42頁順序查找線性表中最簡單的查找方法。

方法:從線性表的第一個元素開始,依次將線性表中的元素與關(guān)鍵字進(jìn)行比較,若相等,則查找成功;若將所有元素都與關(guān)鍵字進(jìn)行了比較但不相等,則查找失敗。順序查找法的適用場合:對線性表中元素的排列次序沒有要求;對線性表的存儲結(jié)構(gòu)沒有要求,鏈?zhǔn)浇Y(jié)構(gòu)和順序結(jié)構(gòu)均可。第四十二頁,共一百零五頁,2022年,8月28日第43頁二分查找(折半查找)

是一種效率較高的查找方法,但是只適合順序存儲的有序表。二分查找的方法:首先將關(guān)鍵字與線性表中間位置的結(jié)點(diǎn)比較,相等則查找成功;不相等則根據(jù)比較結(jié)果確定下一步查找應(yīng)在哪個子表中進(jìn)行;重復(fù)上述過程,直至查找成功或子表長度為0。二分查找法的適用場合:線性表中的元素按關(guān)鍵字值遞增或遞減的次序排列;線性表采用順序存儲結(jié)構(gòu)。第四十三頁,共一百零五頁,2022年,8月28日第44頁⒍排序技術(shù)

排序指將一個無序序列整理成按關(guān)鍵字值遞增或遞減排列的有序序列。排序方法中其排序?qū)ο笠话闶琼樞虼鎯Φ木€性表。根據(jù)排序序列的規(guī)模以及數(shù)據(jù)處理的要求,可以采用不同的排序方法:交換類排序法

冒泡排序快速排序

插入類排序法簡單插入排序希爾排序選擇類排序法簡單選擇排序堆排序第四十四頁,共一百零五頁,2022年,8月28日第45頁冒泡排序

冒泡排序的方法:掃描整個線性表,逐次對相鄰的兩個元素進(jìn)行比較,若為逆序,則交換;第一趟掃描的結(jié)果使最大(或最小)的元素排到表的最后(或最前)

;除最后(或最前)一個元素,對剩余的元素重復(fù)上述過程,將次大(或次小)的數(shù)排到表的倒數(shù)(或正數(shù))第二個位置;重復(fù)上述過程;對于長度為n的線性表,冒泡排序需要對表掃描n-1遍。第四十五頁,共一百零五頁,2022年,8月28日第46頁冒泡排序的方法設(shè)待排數(shù)據(jù)元素的關(guān)鍵字為(18,20,15,32,4,25),第一趟冒泡排序后的序列狀態(tài)如圖所示:

182015324251820153242518152032425181520324251815204322518152042532最大數(shù)第二趟冒泡排序第四十六頁,共一百零五頁,2022年,8月28日第47|92頁Q:第二趟冒泡排序后的結(jié)果是什么樣的?達(dá)到了最終的排序目標(biāo)嗎?一共需要多少次能夠最后成為有序序列?Q:你覺得冒泡排序的效率如何?如果是你,你會用什么方法來排序?

冒泡排序比較簡單,當(dāng)初始序列基本有序時(shí),冒泡排序有較高的效率,反之效率較低。冒泡排序終止條件:

本趟排序未發(fā)生交換,終止排序算法第四十七頁,共一百零五頁,2022年,8月28日第48|92頁初始第一趟第二趟第三趟第四趟第五趟序列排序后排序后排序后排序后排序后 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;

第四十八頁,共一百零五頁,2022年,8月28日第49頁選擇排序

選擇排序的方法:掃描整個線性表,從中找出最小的元素,與第一個元素交換;除第一個元素,對剩下的子表采用相同的方法找出次小的數(shù),與第二個數(shù)交換;重復(fù)上述過程;對于長度為n的線性表,選擇排序需要對表掃描n-1遍。簡單選擇排序法,

最壞情況需要n(n-1)/2次比較;

第四十九頁,共一百零五頁,2022年,8月28日第50|92頁初態(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)如圖所示:第五十頁,共一百零五頁,2022年,8月28日第51頁排序法小結(jié):簡單選擇排序法,

最壞情況需要n(n-1)/2次比較;冒泡排序法,

最壞情況需要n(n-1)/2次比較;快速排序法,

最壞情況需要n(n-1)/2次比較;希爾排序法,

最壞情況需要O(n1.5)次比較;堆排序法,最壞情況需要O(nlog2n)次比較;

第五十一頁,共一百零五頁,2022年,8月28日第52頁排序查找方面的考題:(1)對于長度為n的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是

A)冒泡排序?yàn)閚/2B)冒泡排序?yàn)閚

C)快速排序?yàn)閚D)快速排序?yàn)閚(n-1)/2

(2)在長為64的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為______。

A)、63B)、64C)、6D)、7(3)下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是

A)順序存儲的有序線性表 B)線性鏈表

C)二叉鏈表 D)有序線性鏈表(4)下列排序方法中,最壞情況下比較次數(shù)最少的是(09年3月)

A)冒泡排序

B)簡單選擇排序

C)直接插入排序

D)堆排序DBAD第五十二頁,共一百零五頁,2022年,8月28日第53頁第二章程序設(shè)計(jì)基礎(chǔ)內(nèi)容:

1.程序設(shè)計(jì)方法與風(fēng)格。2.結(jié)構(gòu)化程序設(shè)計(jì)。3.面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,對象,方法,屬性及繼承與多態(tài)性。第五十三頁,共一百零五頁,2022年,8月28日第54頁1.結(jié)構(gòu)化程序設(shè)計(jì)

結(jié)構(gòu)化程序設(shè)計(jì)方法的四條原則是:1.自頂向下;2.逐步求精;3.模塊化;4.限制使用goto語句。

結(jié)構(gòu)化程序的基本結(jié)構(gòu)和特點(diǎn):

(1)順序結(jié)構(gòu):簡單的程序設(shè)計(jì),最基本、最常用的結(jié)構(gòu);

(2)選擇結(jié)構(gòu)(分支結(jié)構(gòu)):包括簡單選擇和多分支選擇結(jié)構(gòu),

(3)重復(fù)結(jié)構(gòu)(循環(huán)結(jié)構(gòu)):可根據(jù)給定條件,判斷是否需要重復(fù)執(zhí)行某一相同程序段。第五十四頁,共一百零五頁,2022年,8月28日第55頁2.面向?qū)ο蟮某绦蛟O(shè)計(jì)

對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍睢?/p>

對象是系統(tǒng)中用來描述客觀事物的一個實(shí)體,是構(gòu)成系統(tǒng)的一個基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。屬性即對象所包含的信息操作描述了對象執(zhí)行的功能,操作也稱為方法或服務(wù)。第五十五頁,共一百零五頁,2022年,8月28日第56頁類是指具有共同屬性、共同方法的對象的集合。所以類是對象的抽象,對象是對應(yīng)類的一個實(shí)例。消息是一個實(shí)例與另一個實(shí)例之間傳遞的信息。

消息的組成包括(1)接收消息的對象的名稱;(2)消息標(biāo)識符,也稱消息名;(3)零個或多個參數(shù)。繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義他們。單繼承指一個類只允許有一個父類多重繼承指一個類允許有多個父類。多態(tài)性是指同樣的消息被不同的對象接受時(shí)可導(dǎo)致完全不同的行動的現(xiàn)象。第五十六頁,共一百零五頁,2022年,8月28日第57頁程序設(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)以上三種說法都不完整4.在面向?qū)ο蠓椒ㄖ?,類的?shí)例稱為【____】。(2005年4月)5.在面向?qū)ο蠓椒ㄖ?【____】描述的是具有相似屬性與操作的一組對象。(2006年4月)(順序結(jié)構(gòu))A

D對象類第五十七頁,共一百零五頁,2022年,8月28日第58頁第三章軟件工程基礎(chǔ)計(jì)算機(jī)軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。

第五十八頁,共一百零五頁,2022年,8月28日第59頁1.軟件工程概念軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。

軟件工程包括3個要素:方法、工具和過程。軟件周期:軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程。

軟件生命周期三個階段:軟件定義、軟件開發(fā)、運(yùn)行維護(hù),主要活動階段是:

(1)可行性研究與計(jì)劃制定;

(2)需求分析;

(3)軟件設(shè)計(jì);

(4)軟件實(shí)現(xiàn);

(5)軟件測試;

(6)運(yùn)行和維護(hù)。第五十九頁,共一百零五頁,2022年,8月28日第60頁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ī)格說明書第六十頁,共一百零五頁,2022年,8月28日第61頁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)聚,低耦合。常見的過程設(shè)計(jì)工具有:圖形工具(程序流程圖,N-S,PAD)表格工具(判定表)語言工具(PDL偽碼)第六十一頁,共一百零五頁,2022年,8月28日第62頁4.軟件測試

軟件測試的目的:發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。

軟件測試方法:

靜態(tài)測試:

包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,主要通過人工進(jìn)行。

動態(tài)測試:

是基本計(jì)算機(jī)的測試,主要包括白盒測試方法和黑盒測試方法

軟件測試過程一般按4個步驟進(jìn)行:單元測試、集成測試、驗(yàn)收測試(確認(rèn)測試)和系統(tǒng)測試。第六十二頁,共一百零五頁,2022年,8月28日第63頁(1)下面敘述中錯誤的是

A)軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤

B)對被調(diào)試的程序進(jìn)行“錯誤定位”是程序調(diào)試的必要步驟

C)程序調(diào)試通常也稱為DebugD)軟件測試應(yīng)嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性(2)軟件測試可分為白盒測試和黑盒測試。基本路徑測試屬于【】測試。(2009年3月)(3)

按照軟件測試的一般步驟,集成測試應(yīng)在_____測試之后進(jìn)行。(4)軟件工程三要素包括方法、工具和過程,其中,_____支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。(2008年9月)(5)軟件設(shè)計(jì)中劃分模塊的一個準(zhǔn)則是A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合C)低內(nèi)聚高耦合D)高內(nèi)聚高耦合A

軟件工程方面的考題:白盒

單元過程B第六十三頁,共一百零五頁,2022年,8月28日第64頁(6)下列敘述中正確的是AA)軟件交付使用后還需要進(jìn)行維護(hù)B)軟件一旦交付使用就不需要再進(jìn)行維護(hù)C)軟件交付使用后其生命周期就結(jié)束D)軟件維護(hù)是指修復(fù)程序中被破壞的指令(7)程序流程圖中的菱形框表示的是【2】。(8)軟件開發(fā)過程主要分為需求分析、設(shè)計(jì)、編碼與測試四個階段,其中【3】階段產(chǎn)生“軟件需求規(guī)格說明書。

(9)下列敘述中正確的是

A)軟件測試應(yīng)該由程序開發(fā)者來完成

B)程序經(jīng)調(diào)試后一般不需要再測試

C)軟件維護(hù)只包括對程序代碼的維護(hù)

D)以上三種說法都不對A

邏輯條件需求分析D第六十四頁,共一百零五頁,2022年,8月28日第65頁(3)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是

A)編輯軟件B)操作系統(tǒng)

C)教務(wù)管理系統(tǒng)D)瀏覽器(4)軟件(程序)調(diào)試的任務(wù)是

A)診斷和改正程序中的錯誤B)盡可能多地發(fā)現(xiàn)程序中的錯誤

C)發(fā)現(xiàn)并改正程序中的所有錯誤D)確定程序中錯誤的性質(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)上述三個階段經(jīng)典考題

BA

C

B

第六十五頁,共一百零五頁,2022年,8月28日第66頁第四章數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)數(shù)據(jù):實(shí)際上就是描述事物的符號記錄。數(shù)據(jù)庫:是數(shù)據(jù)的集合,具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個應(yīng)用程序共享。數(shù)據(jù)庫管理系統(tǒng):一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是數(shù)據(jù)庫的核心。數(shù)據(jù)庫系統(tǒng):由數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、硬件平臺(硬件)、軟件平臺(軟件)五個部分構(gòu)成的運(yùn)行實(shí)體。數(shù)據(jù)庫應(yīng)用系統(tǒng):由數(shù)據(jù)庫系統(tǒng)、應(yīng)用軟件及應(yīng)用界面三者組成。第六十六頁,共一百零五頁,2022年,8月28日第67頁數(shù)據(jù)庫系統(tǒng)第六十七頁,共一百零五頁,2022年,8月28日第68頁關(guān)系數(shù)據(jù)庫系統(tǒng)的基本特點(diǎn):數(shù)據(jù)的集成性數(shù)據(jù)的高共享性與低冗余性數(shù)據(jù)獨(dú)立性(物理獨(dú)立性與邏輯獨(dú)立性)數(shù)據(jù)統(tǒng)一管理與控制。數(shù)據(jù)庫存放數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,具有集成與共享的特點(diǎn)。數(shù)據(jù)庫系統(tǒng)的三級模式:

(1)概念模式(2)外模式(3)內(nèi)模式數(shù)據(jù)庫系統(tǒng)的兩級映射:

(1)概念模式到內(nèi)模式的映射;

(2)外模式到概念模式的映射。1.數(shù)據(jù)庫系統(tǒng)的基本概念第六十八頁,共一百零五頁,2022年,8月28日69應(yīng)用外模式(用戶數(shù)據(jù)庫)應(yīng)用外模式(用戶數(shù)據(jù)庫)應(yīng)用外模式(用戶數(shù)據(jù)庫)概念模式(概念數(shù)據(jù)庫)內(nèi)模式(物理數(shù)據(jù)庫)數(shù)據(jù)庫外模式→概念模式映射概念模式→內(nèi)模式映射模式第六十九頁,共一百零五頁,2022年,8月28日702.數(shù)據(jù)模型數(shù)據(jù)模型(DataModel)是對客觀事物及其關(guān)系的數(shù)據(jù)描述。數(shù)據(jù)庫中的數(shù)據(jù)模型可以將復(fù)雜的現(xiàn)實(shí)世界要求反映到計(jì)算機(jī)數(shù)據(jù)庫中的物理世界。現(xiàn)實(shí)世界信息世界計(jì)算機(jī)世界

數(shù)據(jù)模型是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件。數(shù)據(jù)模型所描述的內(nèi)容包含:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)約束。第七十頁,共一百零五頁,2022年,8月28日第71頁2.數(shù)據(jù)模型E-R模型的基本概念

(1)實(shí)體:現(xiàn)實(shí)世界中的事物;

(2)屬性:事物的特性;

(3)聯(lián)系:現(xiàn)實(shí)世界中事物間的關(guān)系。實(shí)體集的關(guān)系有一對一、一對多、多對多的聯(lián)系。在一所學(xué)校,一門課程與學(xué)生之間是一對多的關(guān)系。在一所學(xué)校,多門課程與多個學(xué)生之間是多對多的關(guān)系。

一個家庭,夫妻關(guān)系是一對一關(guān)系。第七十一頁,共一百零五頁,2022年,8月28日72E-R模型的圖示法用簡單的幾何圖形表示實(shí)體集、屬性與聯(lián)系。(1)實(shí)體集表示法在E-R圖中用矩形表表示實(shí)體集,在矩形內(nèi)寫上實(shí)體集名稱。如實(shí)體集學(xué)生(student)、實(shí)體集課程(course)(2)屬性表示法在E-R圖中用橢圓形表示屬性,在橢圓形內(nèi)寫上該屬性名稱。如學(xué)生有屬性:學(xué)號(S#)、姓名(Sn)及年齡(Sa)可用如下表示。studentcourseS#SnSa第七十二頁,共一百零五頁,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)系用無向線段表示。SCstudentS#SnSa第七十三頁,共一百零五頁,2022年,8月28日74屬性也依附于聯(lián)系,它們之間也有聯(lián)系關(guān)系,因此也可用無向線段,如聯(lián)系SC可與學(xué)生的課程成績屬性G建立聯(lián)系并用下圖表示。(5)實(shí)體集與聯(lián)系間的連接關(guān)系(也可用無向線段)SCGstudentcourseSC第七十四頁,共一百零五頁,2022年,8月28日第75頁E-R模型之間的聯(lián)接關(guān)系:實(shí)體是概念世界中的基本單位,屬性有屬性域,每個實(shí)體可取屬性域內(nèi)的值。一個實(shí)體的所有屬性值叫元組。

E-R模型的圖示法:(1)實(shí)體集表示法;用長方形(2)屬性表法;用橢圓形(3)聯(lián)系表示法。用菱形,(m:n)第七十五頁,共一百零五頁,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)算第七十六頁,共一百零五頁,2022年,8月28日77

由關(guān)系R和S通過交運(yùn)算得到關(guān)系T,第七十七頁,共一百零五頁,2022年,8月28日78用于查詢的集合運(yùn)算:(1)投影對于關(guān)系R內(nèi)的域指定稱為投影運(yùn)算。S關(guān)系就是對R關(guān)系指定A和B兩個域的結(jié)果ABCa32b01c21ABa3b0c2RS3.關(guān)系代數(shù)第七十八頁,共一百零五頁,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)算,我們對一個關(guān)系內(nèi)的任意行、列的數(shù)據(jù)都可以方便的找到。第七十九頁,共一百零五頁,2022年,8月28日80笛卡爾積是對兩個關(guān)系的合并操作。有三個關(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)算第八十頁,共一百零五頁,2022年,8月28日81

笛卡爾積建立兩個關(guān)系的連接,但得到的關(guān)系龐大且數(shù)據(jù)大量冗余。在實(shí)際應(yīng)用中一般相互連接的關(guān)系往往須滿足一些條件,所得到的結(jié)果也較為簡單。自然連接滿足兩個關(guān)系中有公共域,通過公共域的相等值進(jìn)行連接。有三個關(guān)系R、S和T

R關(guān)系n1行,m1列

S關(guān)系n2行,m2列

T關(guān)系行數(shù)≤(n1或n2中行數(shù)多的一個)列數(shù)≤m1+m2(4)自然連接運(yùn)算第八十一頁,共一百零五頁,2022年,8月28日82有三個關(guān)系R、S和T,由關(guān)系R和S通過運(yùn)算得到關(guān)系T,則使用的運(yùn)算為笛卡爾積ABk1f1k2r1BCf13r13ABCk1f13k2r13RST自然連接ABk1f1k2r1BCf13r13ABBCk1f1f13k1f1r13k2r1f13k2r1r13RST第八十二頁,共一百零五頁,2022年,8月28日83在三個關(guān)系R,S和T如下:由關(guān)系R和S通過自然連接運(yùn)算得到關(guān)系T。ABm1n2BC1335ABCm13RST第八十三頁,共一百零五頁,2022年,8月28日第84頁

數(shù)據(jù)庫設(shè)計(jì)與管理數(shù)據(jù)庫設(shè)計(jì)的兩種方法:

(1)面向數(shù)據(jù):以信息需求為主,兼顧處理需求;

(2)面向過程:以處理需求為主,兼顧信息需求。

數(shù)據(jù)庫的生命周期:需求分析階段結(jié)構(gòu)析方法和面向?qū)ο蟮姆椒〝?shù)據(jù)字典是各類數(shù)據(jù)描述的集合,包括5個部分:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理過程。概念設(shè)計(jì)階段分析數(shù)據(jù)內(nèi)在語義關(guān)系。E-R模型邏輯設(shè)計(jì)階段物理設(shè)計(jì)階段編碼階段測試階段運(yùn)行階段進(jìn)一步修改階段第八十四頁,共一百零五頁,2022年,8月28日854.4數(shù)據(jù)庫設(shè)計(jì)與管理數(shù)據(jù)庫應(yīng)用系統(tǒng)(DBAS)中,核心問題是數(shù)據(jù)庫設(shè)計(jì)。需求分析概念設(shè)計(jì)邏輯設(shè)計(jì)物理設(shè)計(jì)編碼測試運(yùn)行進(jìn)一步修改分析客戶的業(yè)務(wù)和數(shù)據(jù)處理需求;設(shè)計(jì)數(shù)據(jù)庫的E-R模型圖,確認(rèn)需求信息的正確和完整;將E-R圖轉(zhuǎn)換為多張表,進(jìn)行邏輯設(shè)計(jì),并應(yīng)用數(shù)據(jù)庫設(shè)計(jì)的三大范式進(jìn)行審核;

數(shù)據(jù)庫內(nèi)模式包括存儲結(jié)構(gòu)和存取方法。

重點(diǎn)記8個階段選擇具體數(shù)據(jù)庫進(jìn)行物理實(shí)現(xiàn),并編寫代碼實(shí)現(xiàn)前端應(yīng)用;

第八十五頁,共一百零五頁,2022年,8月28日第86頁數(shù)據(jù)庫管理的內(nèi)容(1)數(shù)據(jù)庫的建立;(2)數(shù)據(jù)庫的調(diào)整;(3)數(shù)據(jù)庫的重組;(4)數(shù)據(jù)庫安全性與完整性控制;(5)數(shù)據(jù)庫的故障恢復(fù);(6)數(shù)據(jù)庫監(jiān)控。第八十六頁,共一百零五頁,2022年,8月28日8706年9月全國計(jì)算機(jī)等級考試二級筆試試卷一、單選題4)在數(shù)據(jù)庫系統(tǒng)中,用戶所見的數(shù)據(jù)模式為A)概念模式B)外模式C)內(nèi)模式D)物理模式5)數(shù)據(jù)庫設(shè)計(jì)的四個階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和A)編碼設(shè)計(jì)B)測試階段C)運(yùn)行階段D)物理設(shè)計(jì)D4D5√√第八十七頁,共一百零五頁,2022年,8月28日886)設(shè)有如下三個表AmnBC13ABCm13n13下列操作中正確的是A)T=R∩SB)T=R∪SC)T=R×SD)=R/SRSTD6√A)并B)交C)笛卡爾積D)除第八十八頁,共一百零五頁,2022年,8月28日899)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的A)存儲問題B)共享問題C)安全問題D)保護(hù)文題二、填空題3)一個關(guān)系表的行稱為【3】

D9T3√元組第八十九頁,共一百零五頁,2022年,8月28日9007年4月全國計(jì)算機(jī)等級考試二級筆試試卷一、單選題8)在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個數(shù)但能減少元組個數(shù)為

A)并

B)交

C)投影

D)笛卡兒乘積9)在E-R圖中,用來表示實(shí)體之間聯(lián)系的圖形是

A)矩形

B)橢圓形

C)菱形

D)平行四邊形√√D9D8第九十頁,共一百零五頁,2022年,8月28日9110)下列敘述中錯誤的是

A)在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致

B)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題

C)數(shù)據(jù)庫設(shè)計(jì)是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫

D)數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持√D10二、填空題3)在數(shù)據(jù)庫系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【3】

。數(shù)據(jù)庫管理系統(tǒng)或DBMST3第九十一頁,共一百零五頁,2022年,8月28日9207年9月全國計(jì)算機(jī)等級考試二級筆試試卷一、單選題9)下列敘述中正確的是A)數(shù)據(jù)庫系統(tǒng)是一個獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持B)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題C)數(shù)據(jù)庫管理系統(tǒng)就是數(shù)據(jù)庫系統(tǒng)

D)以上三種說法都不對 D9√第九十二頁,共一百零五頁,2022年,8月28日9310)下列敘述中正確的是A)為了建立一個關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系B)表示關(guān)系的二維表中各元組的每一個分量還可以分成若干數(shù)據(jù)項(xiàng)C)一個關(guān)系的屬性名表稱為關(guān)系模式D)一個關(guān)系可以包括多個二維表二、填空題5)在E-R圖中,矩形表示[5]

。D10T5√實(shí)體集第九十三頁,共一百零五頁,2022年,8月28日9408年4月全國計(jì)算機(jī)等級考試二級筆試試卷一、單選題8)在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于A)需求分析階段B)概念設(shè)計(jì)階段C)邏輯設(shè)計(jì)階段D)物理設(shè)計(jì)階段D8√第九十四頁,共一百零五頁,2022年,8月28日95(9)有三個關(guān)系R、S和T如下:

由關(guān)系R和S通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為A.并B.自然連接C.笛卡爾積D.交D9√第九十五頁,共一百零五頁,2022年,8月28日9610)設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為A)課號,成績B)學(xué)號,成績C)學(xué)號,課號D)學(xué)號,姓名,成績二、填空題4)在關(guān)系數(shù)據(jù)庫中,用來表示實(shí)體之間聯(lián)系的是______。5)在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言和數(shù)據(jù)控制語言中,_________

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論