程序設(shè)計(jì)基本概念_第1頁
程序設(shè)計(jì)基本概念_第2頁
程序設(shè)計(jì)基本概念_第3頁
程序設(shè)計(jì)基本概念_第4頁
程序設(shè)計(jì)基本概念_第5頁
已閱讀5頁,還剩144頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基本要求1.掌握算法的基本概念。2.掌握基本數(shù)據(jù)結(jié)構(gòu)及其操作。3.掌握基本排序和查找算法。4.掌握逐步求精的結(jié)構(gòu)化程序設(shè)計(jì)方法。5.掌握軟件工程的基本方法,具有初步應(yīng)用相關(guān)技術(shù)進(jìn)行軟件開發(fā)的能力。6.掌握數(shù)據(jù)庫的基本知識(shí),了解關(guān)系數(shù)據(jù)庫的設(shè)計(jì)??荚噧?nèi)容基本數(shù)據(jù)結(jié)構(gòu)與算法程序設(shè)計(jì)基礎(chǔ)軟件工程基礎(chǔ)數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)內(nèi)容2006/92007/42007/92008/42008/910`10`8`2`12`8`4`6`12`8`4`6`10`2`8`10`10`2`8`10`一、基本數(shù)據(jù)結(jié)構(gòu)與算法

1.算法的基本概念;算法復(fù)雜度的概念和意義(時(shí)間復(fù)雜度與空間復(fù)雜度)。2.數(shù)據(jù)結(jié)構(gòu)的定義;數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu);數(shù)據(jù)結(jié)構(gòu)的圖形表示;線性結(jié)構(gòu)與非線性結(jié)構(gòu)的概念。3.線性表的定義;線性表的順序存儲(chǔ)結(jié)構(gòu)及其插入與刪除運(yùn)算。4.棧和隊(duì)列的定義;棧和隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)及其基本運(yùn)算。5.線性單鏈表、雙向鏈表與循環(huán)鏈表的結(jié)構(gòu)及其基本運(yùn)算。6.樹的基本概念;二叉樹的定義及其存儲(chǔ)結(jié)構(gòu);二叉樹的前序、中序和后序遍歷。7.順序查找與二分法查找算法;基本排序算法(交換類排序,選擇類排序,插入類排序)。

二、程序設(shè)計(jì)基礎(chǔ)1.程序設(shè)計(jì)方法與風(fēng)格。2.結(jié)構(gòu)化程序設(shè)計(jì)。3.面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,對(duì)象,方法,屬性及繼承與多態(tài)性。三、軟件工程基礎(chǔ)1.軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境。2.結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說明書。3.結(jié)構(gòu)化設(shè)計(jì)方法,總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)。4.軟件測試的方法,白盒測試與黑盒測試,測試用例設(shè)計(jì),軟件測試的實(shí)施,單元測試、集成測試和系統(tǒng)測試。5.程序的調(diào)試,靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試。四、數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)1.數(shù)據(jù)庫的基本概念:數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫系統(tǒng)。2.數(shù)據(jù)模型,實(shí)體聯(lián)系模型及E-R圖,從E-R圖導(dǎo)出關(guān)系數(shù)據(jù)模型。3.關(guān)系代數(shù)運(yùn)算,包括集合運(yùn)算及選擇、投影、連接運(yùn)算,數(shù)據(jù)庫規(guī)范化理論。4.數(shù)據(jù)庫設(shè)計(jì)方法和步驟:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)的相關(guān)策略??荚嚪绞?、公共基礎(chǔ)的考試方式為筆試,與C語言(VisualBASIC、VisualFoxPro、Java、Access、VisualC++)的筆試部分合為一張?jiān)嚲?。公共基礎(chǔ)部分占全卷的30分。2、公共基礎(chǔ)知識(shí)有10道選擇題和5道填空題。學(xué)習(xí)方法理解基本概念多做練習(xí)適當(dāng)記憶一些名詞與所學(xué)的VFP\c\Access程序設(shè)計(jì)知識(shí)結(jié)合起來,以增加對(duì)知識(shí)的理解能力1.基本數(shù)據(jù)結(jié)構(gòu)與算法1.1算法1.1.1算法(algorithm)基本概念

對(duì)特定問題求解步驟的一種描述,它是一組嚴(yán)謹(jǐn)?shù)囟x運(yùn)算順序的規(guī)則,并且每一個(gè)規(guī)則都是有效的,且是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。算法一級(jí)算法:S1:輸入圓的半徑r;S2:求周長2∏r;S3:求面積∏r2;S4:輸出周長和面積;例題:已知圓的半徑,求周長和面積.程序dowhile.t.

input“輸入圓的半徑:”tor

ifr<0?“輸入不能是負(fù)數(shù),重新輸入!”

loop

elseexit

endifenddo

S=pi()*r*rL=2*pi()*r?S,L算法的基本特征:(1)可行性(2)確定性(3)有窮性(4)輸入和輸出(擁有足夠的情報(bào))1.1.2算法的基本要素

1、對(duì)數(shù)據(jù)對(duì)象的運(yùn)算和操作算術(shù)運(yùn)算邏輯運(yùn)算關(guān)系運(yùn)算數(shù)據(jù)傳輸2、算法的控制結(jié)構(gòu)算法中各操作之間的執(zhí)行順序一個(gè)算法一般可以用順序、選擇、循環(huán)三種基本結(jié)構(gòu)組合而成。1.2算法復(fù)雜度1.2.1時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量?!锼惴ㄔ趫?zhí)行過程中所需基本運(yùn)算的執(zhí)行次數(shù)來度量算法的工作量.★算法所執(zhí)行的基本運(yùn)算次數(shù)與問題的規(guī)模n有關(guān).1.2.2算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間

算法的時(shí)間復(fù)雜度是指A)執(zhí)行算法程序所需要的時(shí)間B)算法程序的長度C)算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)D)算法程序中的指令條數(shù)算法的基本特征是可行性、確定性、

【1】和擁有足夠的情報(bào)。算法的空間復(fù)雜度是指

A)算法程序的長度 B)算法程序中的指令條數(shù)

C)算法程序所占的存儲(chǔ)空間D)執(zhí)行過程中所需要的存儲(chǔ)空間在計(jì)算機(jī)中,算法是指

A)加工方法 B)解題方案的準(zhǔn)確而完整的描述

C)排序方法 D)查詢方法例題講解有窮性算法分析的目的是

A)找出數(shù)據(jù)結(jié)構(gòu)的合理性B)找出算法中輸入和輸出之間的關(guān)系

C)分析算法的易懂性和可靠性 D)分析算法的效率以求改進(jìn)算法的工作量大小和實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少分別稱為算法的【1】。時(shí)間復(fù)雜度和空間復(fù)雜度1.2數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)的定義數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)的圖形表示線性結(jié)構(gòu)與非線性結(jié)構(gòu)1.2.1數(shù)據(jù)結(jié)構(gòu)研究的主要內(nèi)容(1)數(shù)據(jù)集中數(shù)據(jù)之間的邏輯關(guān)系線性樹圖(2)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(3)各種數(shù)據(jù)結(jié)構(gòu)的運(yùn)算1.2.2基本概念和術(shù)語

數(shù)據(jù)結(jié)構(gòu)是一門研究數(shù)據(jù)組織、存儲(chǔ)和運(yùn)算的一般方法的學(xué)科。1.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)2、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)3、數(shù)據(jù)的運(yùn)算:檢索、排序、插入、刪除、修改等。A.線性結(jié)構(gòu)B.非線性結(jié)構(gòu)A順序存儲(chǔ)B鏈?zhǔn)酱鎯?chǔ)線性表?xiàng)j?duì)樹形結(jié)構(gòu)圖形結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)的三個(gè)方面數(shù)據(jù)結(jié)構(gòu)可描述為Group=(D,R)(2)邏輯結(jié)構(gòu)有限個(gè)數(shù)據(jù)元素的集合有限個(gè)數(shù)據(jù)元素間關(guān)系的集合線性樹圖常用數(shù)據(jù)結(jié)構(gòu):A.線性結(jié)構(gòu)

(A,B,C,·······,X,Y,Z)例:學(xué)生成績表86胡孝臣986110395劉忠賞9861107100張卓9861109成績姓名學(xué)號(hào)①線性表②?!筮M(jìn)先出③隊(duì)列——先進(jìn)先出例:英文字母表①樹形結(jié)構(gòu)例:全校學(xué)生檔案管理的組織方式例:計(jì)算機(jī)文件管理系統(tǒng)也是典型的樹形結(jié)構(gòu)B.非線性結(jié)構(gòu)1423

例:數(shù)據(jù)結(jié)構(gòu)B(D,R)D={1,2,3,4}R={(1,2),(1,3),(1,4),(2,3),(3,4),(2,4)}213例:數(shù)據(jù)結(jié)構(gòu)C(D,R)D={1,2,3}R={<1,2>,<2,3>,<3,2>,<1,3>}

②圖形結(jié)構(gòu)元素n……..元素i……..元素2元素1LoLo+mLo+(i-1)*mLo+(n-1)*m存儲(chǔ)地址存儲(chǔ)內(nèi)容Loc(ai)=Lo+(i-1)*m1、順序存儲(chǔ)每個(gè)元素所占用的存儲(chǔ)單元個(gè)數(shù)(3)存儲(chǔ)結(jié)構(gòu)例:線性表(zhao,qian,sun,li,zhou,wu,zheng,wang)

順序存儲(chǔ)結(jié)構(gòu):存儲(chǔ)地址數(shù)據(jù)7891011121314zhaoqiansunlizhouwuzhengwang7基地址順序存儲(chǔ)結(jié)構(gòu),將邏輯上相鄰的數(shù)據(jù)元素存儲(chǔ)在物理上相鄰的存儲(chǔ)單元里,具有以下特點(diǎn):1.隨機(jī)存取。2.作插入或刪除操作時(shí),需移動(dòng)大量元數(shù)。3.長度變化較大時(shí),需按最大空間分配。4.表的容量難以擴(kuò)充。2、鏈?zhǔn)酱鎯?chǔ)每個(gè)節(jié)點(diǎn)都由兩部分組成:

數(shù)據(jù)域和指針域。數(shù)據(jù)域存放元素本身的數(shù)據(jù),指針域存放指針。數(shù)據(jù)元素之間邏輯上的聯(lián)系由指針來體現(xiàn)。例:線性表(zhao,qian,sun,li,zhou,wu,zheng,wang)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu):存儲(chǔ)地址數(shù)據(jù)17131925313743liqiansunwangwuzhaozhengzhou指針43131null377192531頭指針通常我們把鏈表畫成用箭頭相鏈接的結(jié)點(diǎn)的序列,結(jié)點(diǎn)之間的箭頭表示鏈域中的指針。zhaoqiansunlizhouwuzhengwang/H存儲(chǔ)地址數(shù)據(jù)17131925313743liqiansunwangwuzhaozhengzhou指針43131null377192531頭指針1.比順序存儲(chǔ)結(jié)構(gòu)多用空間(存儲(chǔ)密度小)(每個(gè)節(jié)點(diǎn)都由數(shù)據(jù)域和指針域組成)。2.邏輯上相鄰的節(jié)點(diǎn)物理上不必相鄰。3.插入、刪除靈活

(不必移動(dòng)節(jié)點(diǎn),只要改變節(jié)點(diǎn)中的指針)。4.非隨機(jī)存取。鏈接存儲(chǔ)結(jié)構(gòu)特點(diǎn):1.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)2、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)3、數(shù)據(jù)的運(yùn)算:檢索、排序、插入、刪除、修改等。A.線性結(jié)構(gòu)B.非線性結(jié)構(gòu)A順序存儲(chǔ)B鏈?zhǔn)酱鎯?chǔ)線性表?xiàng)j?duì)樹形結(jié)構(gòu)圖形結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)的三個(gè)方面(亦稱物理結(jié)構(gòu))……鏈表不具有的特點(diǎn)是A)不必事先估計(jì)存儲(chǔ)空間B)可隨機(jī)訪問任一元素C)插入刪除不需要移動(dòng)元素 D)所需空間與線性表長度成正比數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【1】。數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的

A)存儲(chǔ)結(jié)構(gòu) B)物理結(jié)構(gòu)

C)邏輯結(jié)構(gòu) D)物理和存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和【1】兩大類。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指A)數(shù)據(jù)所占的存儲(chǔ)空間B)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示C)數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式D)存儲(chǔ)在外存中的數(shù)據(jù)例題講解存儲(chǔ)結(jié)構(gòu)非線性結(jié)構(gòu)順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置

【2】的存儲(chǔ)單元中。

數(shù)據(jù)處理的最小單位是

A)數(shù)據(jù) B)數(shù)據(jù)元素C)數(shù)據(jù)項(xiàng) D)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及

A)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu) B)計(jì)算方法C)數(shù)據(jù)映象D)邏輯存儲(chǔ)//線性表的順序存儲(chǔ)結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)分別是

A)順序存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)

B)隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)

C)隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)

D)任意存取的存儲(chǔ)結(jié)構(gòu)、任意存取的存儲(chǔ)結(jié)構(gòu)

相鄰根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分成

A)動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu) B)緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)

C)線性結(jié)構(gòu)和非線性結(jié)構(gòu)D)內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的

【2】以及對(duì)數(shù)據(jù)的操作運(yùn)算。數(shù)據(jù)的基本單位是

【5】。下列敘述中,錯(cuò)誤的是

A)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)

B)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān)

C)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的

D)一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)元素1.3線性表1.3.1線性表的概念線性表的定義:

線性表是n個(gè)元素的有限序列,它們之間的關(guān)系可以排成一個(gè)線性序列:

(a1,a2,……

,ai,……

,an)

其中n稱作表的長度,當(dāng)n=0時(shí),稱作空表。線性表的特點(diǎn):1.線性表中所有元素的性質(zhì)相同。2.除第一個(gè)和最后一個(gè)數(shù)據(jù)元素之外,其它數(shù)據(jù)元素有且僅有一個(gè)前驅(qū)和一個(gè)后繼.第一個(gè)數(shù)據(jù)元素?zé)o前驅(qū),最后一個(gè)數(shù)據(jù)元素?zé)o后繼。3.數(shù)據(jù)元素在表中的位置只取決于它自身的序號(hào)。總結(jié):

順序存儲(chǔ)結(jié)構(gòu)表示的線性表,在做插入或刪除操作時(shí),平均需要移動(dòng)大約一半的數(shù)據(jù)元素。當(dāng)線性表的數(shù)據(jù)元素量較大,并且經(jīng)常要對(duì)其做插入或刪除操作時(shí),這一點(diǎn)需要值得考慮。長度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【1】。線性表若采用順序存儲(chǔ)結(jié)構(gòu)時(shí),要求內(nèi)存中可用存儲(chǔ)單元的地址

A)必須是連續(xù)的 B)部分地址必須是連續(xù)的

C)一定是不連續(xù)的D)連續(xù)不連續(xù)都可以//例題講解線性表L=(a1,a2,a3,…ai,…an),下列說法正確的是

A)每個(gè)元素都有一個(gè)直接前件和直接后件

B)線性表中至少要有一個(gè)元素

C)表中諸元素的排列順序必須是由小到大或由大到小

D)除第一個(gè)元素和最后一個(gè)元素外,其余每個(gè)元素都有一個(gè)且只有一個(gè)直接前件和直接后件

根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分成

A)動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu) B)緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)

C)線性結(jié)構(gòu)和非線性結(jié)構(gòu)D)內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)當(dāng)線性表采用順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)存儲(chǔ)時(shí),其主要特點(diǎn)是【1】。隨機(jī)存取//1.5線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及其插入與刪除操作zhaoqiansunlizhouwuzhengwang/H存儲(chǔ)地址數(shù)據(jù)17131925313743liqiansunwangwuzhaozhengzhou指針43131null377192531頭指針單鏈表鏈表不具有的特點(diǎn)是A)不必事先估計(jì)存儲(chǔ)空間B)可隨機(jī)訪問任一元素C)插入刪除不需要移動(dòng)元素D)所需空間與線性表長度成正比用鏈表表示線性表的優(yōu)點(diǎn)是A)便于隨機(jī)存取B)花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少C)便于插入和刪除操作D)數(shù)據(jù)元素的物理順序與邏輯順序相同長度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【1】。在單鏈表中,增加頭結(jié)點(diǎn)的目的是

A)方便運(yùn)算的實(shí)現(xiàn)B)使單鏈表至少有一個(gè)結(jié)點(diǎn)

C)標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置

D)說明單鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)例題講解非空的循環(huán)單鏈表head的尾結(jié)點(diǎn)(由p所指向),滿足

A)p->next==NULL B)p==NULLC)p->next=head D)p=head循環(huán)鏈表的主要優(yōu)點(diǎn)是

A)不再需要頭指針了

B)從表中任一結(jié)點(diǎn)出發(fā)都能訪問到整個(gè)鏈表

C)在進(jìn)行插入、刪除運(yùn)算時(shí),能更好的保證鏈表不斷開

D)已知某個(gè)結(jié)點(diǎn)的位置后,能夠容易的找到它的直接前件1.7棧和隊(duì)列1.7.1棧和隊(duì)列的定義棧和隊(duì)列是兩種特殊的線性表,它們是運(yùn)算時(shí)要受到某些限制的線性表,故也稱為限定性的數(shù)據(jù)結(jié)構(gòu)。1.棧?!窍薅▋H在表尾進(jìn)行插入或刪除操作的線性表。棧頂——表尾。棧底——表頭??諚!缓氐目毡??!璦1a2an棧底棧頂進(jìn)棧出棧棧s=(a1,a2,…,an)后進(jìn)先出(LIFO)2.棧的順序存儲(chǔ)結(jié)構(gòu)及其基本運(yùn)算a2a1a1a2top

用順序存儲(chǔ)結(jié)構(gòu)表示的棧:

順序棧用一組連續(xù)的存儲(chǔ)單元存放自棧底到棧頂?shù)臄?shù)據(jù)元素,一般用一維數(shù)組表示,設(shè)置一個(gè)簡單變量top指示棧頂位置,稱為棧頂指針,它始終指向待插入元素的位置?;具\(yùn)算:壓(進(jìn))棧:PUSH出棧:POP讀棧頂元素:gettop例子:topbaseEDCBAtopbaseCBAbasetopAbasetop空桟:top=base非空桟:top始終在桟頂元素的后一個(gè)位置桟的元素個(gè)數(shù):top-base上溢下溢3.隊(duì)列定義:一種特殊的線性結(jié)構(gòu),限定只能在表的一端進(jìn)行插入,在表的另一端進(jìn)行刪除的線性表。此種結(jié)構(gòu)稱為先進(jìn)先出(FIFO)表。

a1,

a2,

a3,

a4,…………

an-1,

an

隊(duì)列示意圖隊(duì)頭隊(duì)尾棧和隊(duì)列的共同特點(diǎn)是

A)都是先進(jìn)先出B)都是先進(jìn)后出

C)只允許在端點(diǎn)處插入和刪除元素D)沒有共同點(diǎn)如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是

A)e3,e1,e4,e2 B)e2,e4,e3,e1C)e3,e4,e1,e2 D)任意順序一些重要的程序語言(如C語言和Pascal語言)允許過程的遞歸調(diào)用。而實(shí)現(xiàn)遞歸調(diào)用中的存儲(chǔ)分配通常用

A)棧 B)堆C)數(shù)組 D)鏈表例題講解棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是

A)ABCED B)DCBEAC)DBCEA D)CDABE棧通常采用的兩種存儲(chǔ)結(jié)構(gòu)是

A)線性存儲(chǔ)結(jié)構(gòu)和鏈表存儲(chǔ)結(jié)構(gòu) B)散列方式和索引方式

C)鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組D)線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)棧和隊(duì)列通常采用的存儲(chǔ)結(jié)構(gòu)是【1】。下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是

A)線性鏈表B)棧C)循環(huán)鏈表 D)順序表▽當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時(shí),說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算。這種情況稱為

【2】。鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組上溢由兩個(gè)棧共享一個(gè)存儲(chǔ)空間的好處是A)減少存取時(shí)間,降低下溢發(fā)生的機(jī)率B)節(jié)省存儲(chǔ)空間,降低上溢發(fā)生的機(jī)率C)減少存取時(shí)間,降低上溢發(fā)生的機(jī)率D)節(jié)省存儲(chǔ)空間,降低下溢發(fā)生的機(jī)率下列關(guān)于棧的敘述中正確的是A)在棧中只能插入數(shù)據(jù)B)在棧中只能刪除數(shù)據(jù)C)棧是先進(jìn)先出的線性表D)棧是后進(jìn)先出的線性表下列關(guān)于隊(duì)列的敘述中正確的是A)在隊(duì)列中只能插入數(shù)據(jù)B)在隊(duì)列中只能刪除數(shù)據(jù)C)隊(duì)列是先進(jìn)先出的線性表D)隊(duì)列是后進(jìn)先出的線性表1.6.1樹的定義由一個(gè)或多個(gè)結(jié)點(diǎn)組成的有限集合。僅有一個(gè)根結(jié)點(diǎn),結(jié)點(diǎn)間有明顯的層次結(jié)構(gòu)關(guān)系。

A

C

GT2D

HIT3J

M

BEL

KT1F現(xiàn)實(shí)世界中,能用樹的結(jié)構(gòu)表示的例子:學(xué)校的行政關(guān)系、書的層次結(jié)構(gòu)、人類的家族血緣關(guān)系等。1.6樹介紹幾個(gè)概念:結(jié)點(diǎn)(Node):樹中的元素,包含數(shù)據(jù)項(xiàng)及若干指向其子樹的分支。結(jié)點(diǎn)的度(Degree):結(jié)點(diǎn)擁有的子樹數(shù)。結(jié)點(diǎn)的層次:從根結(jié)點(diǎn)開始算起,根為第一層。葉子(Leaf):度為零的結(jié)點(diǎn),也稱端結(jié)點(diǎn)。孩子(Child):結(jié)點(diǎn)子樹的根稱為該結(jié)點(diǎn)的孩子結(jié)點(diǎn)。兄弟(Sibling):同一雙親的孩子。雙親(Parent):孩子結(jié)點(diǎn)的上層結(jié)點(diǎn),稱為這些結(jié)點(diǎn)的雙親。樹的深度(Depth):樹中結(jié)點(diǎn)的最大層次數(shù)。樹的度:結(jié)點(diǎn)所具有的最大的度.森林(Forest):M棵互不相交的樹的集合。

A

C

GD

HI

J

M

BEL

KT1F1.6.2二叉樹(BinaryTree)1、二叉樹的定義及其性質(zhì)

(1)二叉樹的定義二叉樹的五種基本形態(tài)

二叉樹一種特殊的樹形結(jié)構(gòu),特點(diǎn)是樹中每個(gè)結(jié)點(diǎn)最多只能有兩棵子樹(即二叉樹中不存在度大于2的結(jié)點(diǎn)),且子樹有左右之分,次序不能顛倒。

空二叉樹

僅有根結(jié)點(diǎn)

右子樹為空

左子樹為空左右子樹均非空二叉樹是n(n

0)個(gè)結(jié)點(diǎn)的有限集合。它或?yàn)榭諗?shù)(n=0),或由一個(gè)根結(jié)點(diǎn)和兩棵分別稱為根的左子樹和右子樹的互不相交的二叉樹組成。特別要注意:二叉樹不是一般樹的特殊情況,而是另一種樹形結(jié)構(gòu).aabb兩棵不同的二叉樹ab一棵樹性質(zhì)1:二叉樹的第i層上至多有2i-1(i

1)個(gè)結(jié)點(diǎn)。(2)二叉樹的基本性質(zhì)423167891011121314155第三層上(i=3),有23-1=4個(gè)節(jié)點(diǎn)。第四層上(i=4),有24-1=8個(gè)節(jié)點(diǎn)。性質(zhì)2:深度為k的二叉樹中至多含有2k-1個(gè)結(jié)點(diǎn)。性質(zhì)3:對(duì)任何一棵二叉樹T,如果其終端結(jié)點(diǎn)數(shù)為n0,度為2的結(jié)點(diǎn)數(shù)為n2,則n0=n2+1。性質(zhì)4:具有n個(gè)結(jié)點(diǎn)的完全二叉樹的深度為★滿二叉樹423167891011121314155特點(diǎn):每一層上都含有最大結(jié)點(diǎn)數(shù)?!锿耆鏄?23167891011125特點(diǎn):(1)除最后一層外,每一層都取最大結(jié)點(diǎn)數(shù),(2)最后一層結(jié)點(diǎn)都集中在該層最左邊的若干位置。★樹與二叉樹的區(qū)別A.樹和二叉樹的結(jié)點(diǎn)個(gè)數(shù)最少都可為0。B.樹中結(jié)點(diǎn)的最大度數(shù)沒有限制,二叉樹結(jié)點(diǎn)最大度數(shù)為2。C.樹的結(jié)點(diǎn)無左、右之分,二叉樹的結(jié)點(diǎn)子樹有明確的左、右之分。3個(gè)結(jié)點(diǎn)的樹3個(gè)結(jié)點(diǎn)的二叉樹1.6.3二叉樹的遍歷查找某個(gè)結(jié)點(diǎn),或?qū)Χ鏄渲腥拷Y(jié)點(diǎn)進(jìn)行某種處理,就需要遍歷。(1)遍歷定義及遍歷算法遍歷是指按某條搜索路線尋訪樹中每個(gè)結(jié)點(diǎn),且每個(gè)結(jié)點(diǎn)只被訪問一次。按先左后右的原則,一般使用三種遍歷:先序遍歷(DLR):

訪問根結(jié)點(diǎn),按先序遍歷左子樹,按先序遍歷右子樹。中序遍歷(LDR):

按中序遍歷左子樹,訪問根結(jié)點(diǎn),按中序遍歷右子樹。后序遍歷(LRD):

按后序遍歷左子樹,按后序遍歷右子樹,訪問根結(jié)點(diǎn)。二叉樹為空時(shí),執(zhí)行空操作,即空二叉樹已遍歷完。

(2)遍歷算法先序遍歷:DLR中序遍歷:LDR后序遍歷:LRDADBCDLRADLRDLR>B>>D>>CDLR以先序遍歷DLR為例演示遍歷過程ABDCBDACDBCAe-+a*b-cd/fLDRLDRa+LDRb*LDRc-d-LDRe/f中序遍歷示圖設(shè)有下列二叉樹:

對(duì)此二叉樹前序遍歷的結(jié)果為A)ZBTTCPXAB)ATBZXCTPC)ZBTACTXPD)ATBZXCPT設(shè)有下列二叉樹:對(duì)此二叉樹的中序遍歷的結(jié)果為A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是

A)acbedB)decabC)deabc D)cedba

已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為

A)GEDHFBCA B)DGEBHFCAC)ABCDEFGH D)ACBFEDHG樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是

A)有且只有1 B)1或多于1C)0或1 D)至少2下列敘述中正確的是

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

C)線性鏈表是非線性結(jié)構(gòu) D)二叉樹是線性結(jié)構(gòu)例題講解在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為

A)32 B)31C)16 D)15若某二叉樹的前序遍歷訪問順序是abdgcefh,中序遍歷訪問順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪問順序是

A)bdgcefhaB)gdbecfhaC)bdgaechfD)gdbehfca在樹結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有【1】。具有3個(gè)結(jié)點(diǎn)的二叉樹有

A)2種形態(tài)B)4種形態(tài)C)7種形態(tài)D)5種形態(tài)

雙親結(jié)點(diǎn)1.7查找和排序順序查找與二分查找算法基本排序算法(交換類排序、選擇類排序、插入類排序)1.7.1查找查找是在一個(gè)給定的數(shù)據(jù)結(jié)構(gòu)中,根據(jù)給定的條件查找滿足條件的結(jié)點(diǎn)。不同的數(shù)據(jù)結(jié)構(gòu)采用不同的查找方法。查找的效率直接影響數(shù)據(jù)處理的效率。查找的結(jié)果:查找成功:找到滿足條件的結(jié)點(diǎn)查找失?。赫也坏綕M足條件的結(jié)點(diǎn)。1.7.1.1順序查找(線性查找)◆查找過程:

對(duì)給定的一關(guān)鍵字K,從線性表的一端開始,逐個(gè)進(jìn)行記錄的關(guān)鍵字和K的比較,直到找到關(guān)鍵字等于K的記錄或到達(dá)表的另一端?!艨梢圆捎脧那跋蚝蟛?,也可采用從后向前查的方法?!粼谄骄闆r下,大約要與表中一半以上元素進(jìn)行比較,效率較低。平均查找長度較大。最好情況:1最壞情況:n1.7.1.2折半查找(二分法查找)思想:先確定待查找記錄所在的范圍,然后逐步縮小范圍,直到找到或確認(rèn)找不到該記錄為止。前提:必須在具有順序存儲(chǔ)結(jié)構(gòu)的有序表中進(jìn)行。分三種情況:

1)若中間項(xiàng)的值等于x,則說明已查到。

2)若x小于中間項(xiàng)的值,則在線性表的前半部分查找;

3)若x大于中間項(xiàng)的值,則在線性表的后半部分查找。特點(diǎn):比順序查找方法效率高。最壞的情況下,需要比較log2n次。1.7.2排序1.7.2.1概述

1、排序的功能:

將一個(gè)數(shù)據(jù)元素(或記錄)的任意序列,重新排成一個(gè)按關(guān)鍵字有序的序列。

2、排序過程的組成步驟:首先比較兩個(gè)關(guān)鍵字的大??;然后將記錄從一個(gè)位置移動(dòng)到另一個(gè)位置。排序方法插入排序選擇排序交換排序歸并排序簡單插入排序希爾排序簡單選擇排序堆排序起泡排序快速排序考點(diǎn)速記冒泡排序法,最壞情況需要比較n(n-1)/2次??焖倥判蚍ǎ?/p>

n(n-1)/2簡單插入排序法:n(n-1)/2希爾排序法:n1.5簡單選擇排序法:n(n-1)/2堆排序法:nlog2n1.7.2.2插入排序

簡單插入、希爾排序1、簡單插入排序:

基本思想:從數(shù)組的第2號(hào)元素開始,順序從數(shù)組中取出元素,并將該元素插入到其左端已排好序的數(shù)組的適當(dāng)位置上。該算法適合于n較小的情況,時(shí)間復(fù)雜度為O(n2).待排元素序列:[53]2736156942第一次排序:[2753]36156942第二次排序:[273653]156942第三次排序:[15273653]6942第四次排序:[1527365369]42第五次排序:[152736425369]

直接插入排序示例對(duì)于有n個(gè)數(shù)據(jù)元素的待排序列,插入操作要進(jìn)行n-1趟最壞情況下:需要n(n-1)/2次比較最好:

n-1次比較1、簡單選擇排序思想:首先從1~n個(gè)元素中選出關(guān)鍵字最小的記錄交換到第一個(gè)位置上。然后再從第2個(gè)到第n個(gè)元素中選出次小的記錄交換到第二個(gè)位置上,依次類推。1.7.2.3選擇排序

簡單選擇排序、堆排序1.7.2.4交換排序交換排序的特點(diǎn)在于交換。有冒泡和快速排序兩種。1、冒泡排序(起泡排序)思想:小的浮起,大的沉底。從左端開始比較。第一趟:第1個(gè)與第2個(gè)比較,大則交換;第2個(gè)與第3個(gè)比較,大則交換,……關(guān)鍵字最大的記錄交換到最后一個(gè)位置上;第二趟:對(duì)前n-1個(gè)記錄進(jìn)行同樣的操作,關(guān)鍵字次大的記錄交換到第n-1個(gè)位置上;依次類推,則完成排序。第六趟排序后第五趟排序后第四趟排序后第三趟排序后第二趟排序后第一趟排序后初始關(guān)鍵字思想:小的浮起,大的沉底。4936416511783665364156364165413641561178363641491156492525251149495611111125252525排序n個(gè)記錄最多需要n-1趟冒泡排序正序:比較次數(shù)為O(n-1)

逆序:比較次數(shù)為O(n(n-1)/2)

適合于數(shù)據(jù)較少的情況。

方法歸并排序簡單插入希爾排序簡單選擇堆排序起泡排序快速排序插入選擇交換比較次數(shù)使用建議查找:方法順序折半比較次數(shù)log2n最好:1最壞:n平均:(n+1)/2使用條件順序存儲(chǔ)結(jié)構(gòu)的有序表任何表排序:n-1n(n-1)/2n1.5n(n-1)/2nlog2nn-1n(n-1)/2log2nn(n-1)/2正序的表、n小的表與表的初始數(shù)據(jù)無關(guān)、n小的表正序的表、n小的表n大的表,但逆序的表會(huì)蛻變?yōu)槠鹋菖判蚪柚o助空間最多的方法n大的表在長度為n的有序線性表中進(jìn)行二分查找。最壞的情況下,需要的比較次數(shù)為

【2】。長度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【1】。假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為

A)log2n B)n2C)O(n1..5) D)n(n-1)/2已知數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),為節(jié)省時(shí)間,應(yīng)采用的算法是

A)堆排序B)直接插入排序C)快速排序D)直接選擇排序例題講解log2nn/2

冒泡排序算法在最好的情況下的元素交換次數(shù)為【1】。在最壞情況下,堆排序需要比較的次數(shù)為

【2】。最簡單的交換排序方法是

A)快速排序 B)選擇排序C)堆排序 D)冒泡排序排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、【1】和選擇排序等。0nlog2n交換排序在下列幾種排序方法中,要求內(nèi)存量最大的是

A)插入排序B)選擇排序C)快速排序 D)歸并排序在待排序的元素序列基本有序的前提下,效率最高的排序方法是

A)冒泡排序B)選擇排序C)快速排序D)歸并排序

希爾排序?qū)儆?/p>

A)交換排序B)歸并排序C)選擇排序 D)插入排序?qū)﹂L度為n的線性表進(jìn)行順序查找,在最壞的情況下所需要的比較次數(shù)為A)n+1B)nC)(n+1)/2D)n/22.程序設(shè)計(jì)基礎(chǔ)2.1程序設(shè)計(jì)方法與風(fēng)格2.1.1程序設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法面向?qū)ο蟪绦蛟O(shè)計(jì)方法2.2結(jié)構(gòu)化程序設(shè)計(jì)2.2.1基本概念★基本思想

對(duì)大型的程序設(shè)計(jì),使用一些基本的結(jié)構(gòu)來設(shè)計(jì)程序,無論多復(fù)雜的程序,都可以使用這些基本結(jié)構(gòu)按一定的順序組合起來。這些基本結(jié)構(gòu)的特點(diǎn)都是只有一個(gè)入口、一個(gè)出口。由這些基本結(jié)構(gòu)組成的程序就避免了任意轉(zhuǎn)移、閱讀起來需要來回尋找的問題。三種基本結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)2.2.2設(shè)計(jì)原則自頂向下(先總體,后細(xì)節(jié))逐步求精(設(shè)計(jì)子目標(biāo)過渡)模塊化(分解總目標(biāo))限制使用goto語句★結(jié)構(gòu)化程序設(shè)計(jì)方法特點(diǎn)要求把程序的結(jié)構(gòu)規(guī)定為順序、選擇和循環(huán)三種基本機(jī)構(gòu),并提出了自頂向下、逐步求精、模塊化程序設(shè)計(jì)等原則。結(jié)構(gòu)化程序設(shè)計(jì)是把模塊分割方法作為對(duì)大型系統(tǒng)進(jìn)行分析的手段,使其最終轉(zhuǎn)化為三種基本結(jié)構(gòu),其目的是為了解決由許多人共同開發(fā)大型軟件時(shí),如何高效率地完成可靠系統(tǒng)的問題。缺點(diǎn):程序和數(shù)據(jù)結(jié)構(gòu)松散地耦合在一起。解決此問題的方法就是采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(OOP)。2.3面向?qū)ο蟮某绦蛟O(shè)計(jì)方法2.3.1關(guān)于面向?qū)ο蠓椒▽?duì)系統(tǒng)的復(fù)雜性進(jìn)行概括、抽象和分類,使軟件的設(shè)計(jì)與現(xiàn)實(shí)形成一個(gè)由抽象到具體、由簡單到復(fù)雜這樣一個(gè)循序漸進(jìn)的過程,從而解決大型軟件研制中存在的效率低、質(zhì)量難以保證、調(diào)試復(fù)雜、維護(hù)困難等問題。主要優(yōu)點(diǎn)與人類習(xí)慣的思維方法一致穩(wěn)定性好可重用性好可維護(hù)性好易于開發(fā)大型軟件產(chǎn)品2.3.2基本概念對(duì)象(Object)對(duì)象是基本的運(yùn)行時(shí)認(rèn)得實(shí)體,它既包括數(shù)據(jù)(屬性),也包括作用于數(shù)據(jù)的操作(行為)。一個(gè)對(duì)象把屬性和行為封裝為一個(gè)整體一個(gè)對(duì)象通??捎蓪?duì)象名、屬性和操作3部分組成對(duì)象的基本特性:(1)標(biāo)識(shí)唯一性(對(duì)象可區(qū)分)(2)分類性(對(duì)象抽象成類)(3)多態(tài)性(同一操作可以是不同對(duì)象的行為)(4)封裝性(只能看到對(duì)象的外部特性)(5)模塊獨(dú)立性好(對(duì)象內(nèi)部各元素結(jié)合緊密、內(nèi)聚性強(qiáng))類(Class)和實(shí)例一個(gè)類所包含的方法和數(shù)據(jù)描述一組對(duì)象的共同行為和屬性。類是在對(duì)象之上的抽象,對(duì)象是類的具體化,是類的實(shí)例封裝(Encapsulation)將數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)銜接在一起,構(gòu)成一個(gè)具有類類型的對(duì)象的描述。對(duì)象的內(nèi)部實(shí)現(xiàn)受保護(hù),外界不能訪問封裝簡化了程序員對(duì)對(duì)象的使用繼承(Inheritance)繼承是父類和子類之間共享數(shù)據(jù)的方法的機(jī)制一個(gè)子類可以繼承它的父類(或祖先類)中的屬性和操作子類中可以定義自己的屬性和操作多態(tài)性(Polymorphism)不同的對(duì)象收到同一消息可以產(chǎn)生完全不同的結(jié)構(gòu),這一現(xiàn)象叫做多態(tài)性多態(tài)的實(shí)現(xiàn)受到繼承的支持消息(Message)

對(duì)象之間進(jìn)行通信的一種構(gòu)造結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是

A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)B)分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

C)多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)D)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是

A)不限制goto語句的使用B)減少或取消注解行

C)程序越短越好D)程序結(jié)構(gòu)應(yīng)有助于讀者理解程序設(shè)計(jì)語言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、控制成分和

A)對(duì)象成分 B)變量成分

C)語句成分 D)傳輸成分例題講解結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是

A)程序的規(guī)模 B)程序的效率

C)程序設(shè)計(jì)語言的先進(jìn)性 D)程序易讀性對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是

A)程序應(yīng)簡單、清晰、可讀性好 B)符號(hào)名的命名只要符合語法

C)充分考慮程序的執(zhí)行效率 D)程序的注釋可有可無在結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率,現(xiàn)在,與程序的效率相比,人們更重視程序的

A)安全性 B)一致性C)可理解性 D)合理性程序的3種基本控制結(jié)構(gòu)是

A)過程、子過程和分程序 B)順序、選擇和重復(fù)

C)遞歸、堆棧和隊(duì)列 D)調(diào)用、返回和轉(zhuǎn)移下列敘述中,不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則的是

A)自頂向下 B)由底向上

C)模塊化 D)限制使用goto語句對(duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,是指對(duì)數(shù)據(jù)和數(shù)據(jù)的操作進(jìn)行

A)結(jié)合 B)隱藏C)封裝 D)抽象☆類是一個(gè)支持集成的抽象數(shù)據(jù)類型,而對(duì)象是類的_______。實(shí)例在面向?qū)ο蠓椒ㄖ校粋€(gè)對(duì)象請(qǐng)求另一個(gè)對(duì)象為其服務(wù)的方式是通過發(fā)送A)調(diào)用語句B)命令C)口令D)消息信息屏蔽的概念與下述哪一種概念直接相關(guān)A)軟件結(jié)構(gòu)定義B)模塊獨(dú)立性C)模塊類型劃分D)模塊偶合度下列對(duì)象概念描述錯(cuò)誤的是A)任何對(duì)象都必須有繼承性B)對(duì)象是屬性和方法的封裝體C)對(duì)象間的通訊靠消息傳遞D)操作是對(duì)象的動(dòng)態(tài)屬性下列敘述中,不屬于結(jié)構(gòu)化分析方法的是

A)面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法

B)面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法

C)面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法

D)面向?qū)ο蟮姆治龇椒?/p>

在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組

【3】

在面向?qū)ο蠓椒ㄖ校愔g共享屬性和操作的機(jī)制稱為

【2】。一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的

【3】。對(duì)象的共同行為和屬性繼承可重用性3.軟件工程基礎(chǔ)3.1基本概念軟件程序數(shù)據(jù)相關(guān)文檔機(jī)器可執(zhí)行的程序和數(shù)據(jù)機(jī)器不能執(zhí)行的,與軟件開發(fā)、運(yùn)行、維護(hù)、使用等有關(guān)的文檔1.軟件危機(jī)早期的軟件主要指程序,采用個(gè)體工作方式,缺少相關(guān)文檔,質(zhì)量低,維護(hù)困難,這些問題稱為“軟件危機(jī)”,軟件工程概念的出現(xiàn)源自于軟件危機(jī)。2.軟件工程軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。

3.軟件工程三要素方法:完成軟件工程項(xiàng)目的技術(shù)手段工具:支持軟件的開發(fā)、管理、文檔生成過程:支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制、管理;

將方法和工具綜合起來,以達(dá)到合理、及時(shí)地進(jìn)行計(jì)算機(jī)軟件開發(fā)的目的。5.軟件生命周期將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用、維護(hù)到停止使用退役的過程稱為軟件生命周期分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。維護(hù)是持續(xù)時(shí)間最長,花費(fèi)代價(jià)最大的一個(gè)階段6個(gè)活動(dòng)階段可行性研究與計(jì)劃制定:確定系統(tǒng)的總體目標(biāo)。需求分析:確定系統(tǒng)的邏輯模型。參加人員有用戶、項(xiàng)目負(fù)責(zé)人和系統(tǒng)分析員。軟件設(shè)計(jì):包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)和過程設(shè)計(jì)。

結(jié)構(gòu)設(shè)計(jì)是定義軟件系統(tǒng)各部件之間的關(guān)系;

數(shù)據(jù)設(shè)計(jì)是將分析時(shí)創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義;

接口設(shè)計(jì)是描述軟件內(nèi)部、軟件和操作系統(tǒng)之間及軟件與人之間如何通信;

過程設(shè)計(jì)是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程性描述。軟件實(shí)現(xiàn):編程。高級(jí)程序員和程序員產(chǎn)生源程序清單軟件測試:在設(shè)計(jì)測試用例的基礎(chǔ)上,檢驗(yàn)軟件的各個(gè)組成部分。產(chǎn)生軟件測試計(jì)劃和軟件測試報(bào)告運(yùn)行與維護(hù)可行性研究與計(jì)劃制定需求分析軟件設(shè)計(jì)實(shí)現(xiàn)測試運(yùn)行和維護(hù)確定系統(tǒng)的總體目標(biāo)需求規(guī)格說明書概要設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)說明書測試計(jì)劃初稿完成程序代碼用戶手冊(cè)單元測試計(jì)劃檢驗(yàn)軟件測試分析報(bào)告可行性研究與計(jì)劃制定需求分析概要設(shè)計(jì)實(shí)現(xiàn)測試退役詳細(xì)設(shè)計(jì)使用維護(hù)定義階段開發(fā)階段維護(hù)階段3.2需求分析與結(jié)構(gòu)化分析方法需求分析的方法結(jié)構(gòu)化分析方法面向?qū)ο蟮姆治龇椒嫦驍?shù)據(jù)流的結(jié)構(gòu)化方法(SA)面向數(shù)據(jù)結(jié)構(gòu)Jackson方法(JSD)面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD)結(jié)構(gòu)化分析常用工具:(1)數(shù)據(jù)流圖(2)數(shù)據(jù)字典(3)判定樹(4)判定表結(jié)構(gòu)化分析方法的實(shí)質(zhì):

著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。3.3結(jié)構(gòu)化設(shè)計(jì)方法、概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)軟件設(shè)計(jì)

○軟件設(shè)計(jì)的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),軟件設(shè)計(jì)是確定系統(tǒng)的物理模型。從技術(shù)觀點(diǎn)來看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過程設(shè)計(jì)。從工程管理角度來看:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。軟件設(shè)計(jì)的基本原理:(1)抽象(2)模塊化(3)信息隱蔽(4)模塊獨(dú)立化內(nèi)聚性:耦合性:在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。優(yōu)秀軟件應(yīng)高內(nèi)聚,低耦合。3.3.2概要設(shè)計(jì)設(shè)計(jì)的基本任務(wù)軟件的系統(tǒng)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計(jì)編寫概要設(shè)計(jì)文檔概要設(shè)計(jì)文檔評(píng)審3.3.3詳細(xì)設(shè)計(jì)根本目標(biāo)確定應(yīng)用怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng),不是具體的編寫程序,而是要設(shè)計(jì)程序的“藍(lán)圖”是為軟件結(jié)構(gòu)圖中的每一個(gè)模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。此階段的結(jié)果基本上決定了最終的程序代碼的質(zhì)量包括內(nèi)容:代碼設(shè)計(jì)輸入設(shè)計(jì)輸出設(shè)計(jì)處理過程設(shè)計(jì)用戶界面設(shè)計(jì)安全控制設(shè)計(jì)3.4軟件測試

軟件測試定義:使用人工或自動(dòng)手段來運(yùn)行或測定某個(gè)系統(tǒng)的過程4.4.1意義目的為了發(fā)現(xiàn)錯(cuò)誤希望能以最少的人力和時(shí)間發(fā)現(xiàn)潛在的各種錯(cuò)誤和缺陷保證系統(tǒng)質(zhì)量和可靠性的關(guān)鍵步驟

4.4.2測試方法靜態(tài)測試:包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,主要通過人工進(jìn)行。動(dòng)態(tài)測試:是基于計(jì)算機(jī)的測試。主要包括白盒測試方法和黑盒測試方法。測試用例:[(輸入值集),(輸出值集)]3.4.3白盒測試結(jié)構(gòu)測試將軟件看成透明的白盒,根據(jù)程序的內(nèi)部結(jié)構(gòu)和邏輯結(jié)構(gòu)來設(shè)計(jì)測試?yán)?,?duì)程序的路徑和過程進(jìn)行測試,檢查是否滿足設(shè)計(jì)的要求主要方法:邏輯覆蓋、基本路徑測試3.4.4黑盒測試功能測試將軟件看成黑盒子,在完全不考慮軟件內(nèi)部結(jié)構(gòu)和特性的情況下,測試軟件的外部特性主要方法:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測法3.4.5軟件測試的實(shí)施單元測試(模塊測試)集成測試確認(rèn)測試系統(tǒng)測試單元測試:是對(duì)模塊進(jìn)行正確性檢驗(yàn)的測試。是軟件測試的最小單位,主要采用靜態(tài)和動(dòng)態(tài)測試法,動(dòng)態(tài)測試以白盒測試法為主,輔助于黑盒測試集成測試是測試和組裝軟件的過程,主要目的是發(fā)現(xiàn)與接口有關(guān)的錯(cuò)誤。確認(rèn)測試驗(yàn)證軟件的功能和性能及其他特性是否滿足了需求規(guī)格說明中確定的各種要求。系統(tǒng)測試將通過確認(rèn)測試的軟件,與計(jì)算機(jī)硬件、外設(shè)等其他元素組合在一起,在實(shí)際環(huán)境下對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的集成測試和確認(rèn)測試。3.5程序調(diào)試1.任務(wù)根據(jù)測試時(shí)發(fā)現(xiàn)的錯(cuò)誤,(1)找出原因和具體的位置.(2)進(jìn)行改正,排除錯(cuò)誤由程序開發(fā)人員來進(jìn)行,誰開發(fā)的程序就由誰來進(jìn)行調(diào)試2.程序調(diào)試的基本步驟:(1)錯(cuò)誤定位;(2)修改設(shè)計(jì)和代碼,以排除錯(cuò)誤;(3)進(jìn)行回歸測試,防止引進(jìn)新的錯(cuò)誤。3.調(diào)試方法:(靜態(tài)、動(dòng)態(tài)調(diào)試法)強(qiáng)行排錯(cuò)法回溯法原因排除法(演繹、歸納、二分法)為了提高測試的效率,應(yīng)該

A)隨機(jī)選取測試數(shù)據(jù)B)取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)

C)在完成編碼以后制定軟件的測試計(jì)劃D)集中對(duì)付那些錯(cuò)誤群集的程序軟件生命周期中所花費(fèi)用最多的階段是

A)詳細(xì)設(shè)計(jì) B)軟件編碼C)軟件測試D)軟件維護(hù)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是

A)便于用戶、開發(fā)人員進(jìn)行理解和交流

B)反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)

C)作為確認(rèn)測試和驗(yàn)收的依據(jù)

D)便于開發(fā)人員進(jìn)行需求分析下列不屬于軟件工程的3個(gè)要素的是A)工具 B)過程C)方法 D)環(huán)境例題講解開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱作

A)軟件投機(jī) B)軟件危機(jī)C)軟件工程D)軟件產(chǎn)生下面不屬于軟件設(shè)計(jì)原則的是A)抽象 B)模塊化C)自底向上D)信息隱蔽開發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是

A)大系統(tǒng)的復(fù)雜性 B)人員知識(shí)不足

C)客觀世界千變?nèi)f化 D)時(shí)間緊、任務(wù)重軟件工程的出現(xiàn)是由于

A)程序設(shè)計(jì)方法學(xué)的影響 B)軟件產(chǎn)業(yè)化的需要

C)軟件危機(jī)的出現(xiàn) D)計(jì)算機(jī)的發(fā)展軟件開發(fā)離不開系統(tǒng)環(huán)境資源的支持,其中必要的測試數(shù)據(jù)屬于

A)硬件資源B)通信資源C)支持軟件D)輔助資源在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示

A)模塊之間的調(diào)用關(guān)系 B)程序的組成成分

C)控制程序的執(zhí)行順序 D)數(shù)據(jù)的流向在軟件生產(chǎn)過程中,需求信息的給出者是

A)程序員B)項(xiàng)目管理者

C)軟件分析設(shè)計(jì)人員 D)軟件用戶模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)則是模塊的

A)抽象和信息隱蔽 B)局部化和封裝化

C)內(nèi)聚性和耦合性 D)激活機(jī)制和控制方法軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成

A)定義、開發(fā)、運(yùn)行維護(hù)B)設(shè)計(jì)階段、編程階段、測試階段

C)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試D)需求分析、功能定義、系統(tǒng)設(shè)計(jì)在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是

A)

路徑的集合B)循環(huán)的集合C)目標(biāo)的集合D)地址的集合完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測試用例的測試方法是

A)黑箱測試法B)白箱測試法C)錯(cuò)誤推測法D)安裝測試法為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為

A)PAD圖 B)N-S圖C)結(jié)構(gòu)圖 D)數(shù)據(jù)流圖下列敘述中,正確的是

A)軟件就是程序清單B)軟件就是存放在計(jì)算機(jī)中的文件

C)軟件應(yīng)包括程序清單及運(yùn)行結(jié)果D)軟件包括程序和文檔軟件設(shè)計(jì)中,有利于提高模塊獨(dú)立性的一個(gè)準(zhǔn)則是

A)低內(nèi)聚低耦合 B)低內(nèi)聚高耦合

C)高內(nèi)聚低耦合 D)高內(nèi)聚高耦合軟件生命周期中花費(fèi)時(shí)間最多的階段是

A)詳細(xì)設(shè)計(jì) B)軟件編碼C)軟件測試D)軟件維護(hù)下列敘述中,不屬于結(jié)構(gòu)化分析方法的是

A)面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法

B)面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法

C)面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法

D)面向?qū)ο蟮姆治龇椒ㄔ敿?xì)設(shè)計(jì)的結(jié)果基本決定了最終程序的

A)代碼的規(guī)模 B)運(yùn)行速度

C)質(zhì)量 D)可維護(hù)性下列不屬于靜態(tài)測試方法的是

A)代碼檢查 B)白盒法

C)靜態(tài)結(jié)構(gòu)分析 D)代碼質(zhì)量度量軟件調(diào)試的目的是A)發(fā)現(xiàn)錯(cuò)誤B)改正錯(cuò)誤C)改善軟件的性能D)挖掘軟件的潛能軟件需求分析階段的工作,可以分為四個(gè)方面:需求獲取,需求分析,編寫需求規(guī)格說明書,以及A)階段性報(bào)告B)需求評(píng)審C)總結(jié)D)都不正確軟件是程序、數(shù)據(jù)和____的集合。Jackson方法是一種面向____的結(jié)構(gòu)化方法。軟件工程研究的內(nèi)容主要包括:____技術(shù)和軟件工程管理。文檔數(shù)據(jù)結(jié)構(gòu)軟件開發(fā)

通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為

。耦合和內(nèi)聚是評(píng)價(jià)模塊獨(dú)立性的兩個(gè)主要標(biāo)準(zhǔn),其中

反映了模塊內(nèi)各成分之間的聯(lián)系。測試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而

的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。單元測試又稱模塊測試,一般采用

測試。軟件的

設(shè)計(jì)又稱為總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。軟件生命周期耦合程序調(diào)試白盒概要4.數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)4.1基本概念1.數(shù)據(jù)(Data)實(shí)際上就是描述事物的符號(hào)記錄2.數(shù)據(jù)庫(DB)長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的,有組織的,可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)學(xué)模型組織、描述和存儲(chǔ),具有較小的冗余度,較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。3.數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫系統(tǒng)的核心軟件解決如何科學(xué)地組織和存儲(chǔ)數(shù)據(jù),如何高效的獲取和維護(hù)數(shù)據(jù)的系統(tǒng)軟件4.數(shù)據(jù)庫管理員5.數(shù)據(jù)庫系統(tǒng)(DBS)由數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺(tái)之硬件平臺(tái)(硬件)和軟件平臺(tái)(軟件)構(gòu)成。數(shù)據(jù)庫管理技術(shù)的發(fā)展人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段(層次、網(wǎng)狀、關(guān)系)8.數(shù)據(jù)庫系統(tǒng)的基本特點(diǎn)數(shù)據(jù)的集成性采用統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)方式數(shù)據(jù)的高共享性與低冗余性數(shù)據(jù)獨(dú)立性物理獨(dú)立性和邏輯獨(dú)立性數(shù)據(jù)統(tǒng)一管理與控制數(shù)據(jù)的完整性檢查數(shù)據(jù)的安全性檢查并發(fā)控制9.數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)體系數(shù)據(jù)庫系統(tǒng)的三級(jí)模式(1)概念模式(2)外模式(3)內(nèi)模式內(nèi)模式處于最底層,它反映了數(shù)據(jù)在計(jì)算機(jī)物理結(jié)構(gòu)中的實(shí)際存儲(chǔ)形式概念模式處于中層,它放映了設(shè)計(jì)者的數(shù)據(jù)全局邏輯要求外模式處于最外層,它反映了用戶對(duì)數(shù)據(jù)的要求4.2數(shù)據(jù)模型數(shù)據(jù)模型:是現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。在數(shù)據(jù)庫中用數(shù)據(jù)模型這個(gè)工具來抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。通俗地講數(shù)據(jù)模型就是現(xiàn)實(shí)世界的模擬。模型的分類:(1)概念模型(信息模型):它是按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫設(shè)計(jì)。(2)數(shù)據(jù)模型:主要包括網(wǎng)狀模型、層次模型、關(guān)系模型,它是按計(jì)算機(jī)系統(tǒng)對(duì)數(shù)據(jù)建模,主要用于DBMS的實(shí)現(xiàn)。對(duì)客觀對(duì)象的抽象過程:客觀對(duì)象信息世界(概念模型)機(jī)器世界(數(shù)據(jù)模型)(物理模型)人的認(rèn)識(shí)抽象轉(zhuǎn)換4.2.2E-R模型(實(shí)體聯(lián)系模型)基本概念(1)實(shí)體(2)屬性(3)聯(lián)系一對(duì)一(1:1)一對(duì)多(1:M或M:1)多對(duì)多(M:N)班級(jí)擁有班長11班級(jí)擁有學(xué)生1n課程選修學(xué)生mn4.2.5關(guān)系模型采用二維表來表示,簡稱表。二維表的性質(zhì):(1)元素個(gè)數(shù)有限性(2)元組的惟一性(3)元組的次序無關(guān)性(4)元組分量的原子性(5)屬性名惟一性(6)屬性的次序無關(guān)性(7)分量值域的同一性關(guān)系中的數(shù)據(jù)約束

:(1)實(shí)體完整性約束(2)參照完整性約束(3)用戶定義的完整性約束運(yùn)算符集合運(yùn)算:專門的關(guān)系運(yùn)算:比較運(yùn)算:>>=<=<=<>邏輯運(yùn)算:4.3關(guān)系代數(shù)設(shè)關(guān)系R和關(guān)系S具有相同的目n,且相應(yīng)的屬性取自同一個(gè)域,則可有如下定義:1.并2.差3.交傳統(tǒng)的集合運(yùn)算例子:ABCRa1a1a2b1b2b2c1c2c1ABCSa1a1a2b2b3b2c2c2c1ABCRSa1a1a2a1b1b2b2b3c1c2c1c2ABCRa1a1a2b1b2b2c1c2c1ABCSa1a1a2b2b3b2c2c2c1ABCRSa1a2b2b2c2c1ABCR-Sa1b1c1RSa1a1a1a1a1a1a2a2a2ABCABCb1b1b1b2b2b2b2b2b2c1c1c1c2c2c2c1c1c1a1a1a2a1a1a2a1a1a2b2b3b2b2b3b2b2b3b2c2c2c1c2c2c1c2c2c1ABCRa1a1a2b1b2b2c1c2c1ABCSa1a1a2b2b3b2c2c2c14.笛卡兒×專門的關(guān)系運(yùn)算:1.選擇例子1:查詢信息系(IS系)的全體學(xué)生.

Sno

Sname

SsexSageSdept劉晨張立9500295004ISIS女男1919

Sno

Sname

SsexSageSdept李勇劉晨王敏張立95001950029500395004CSISMAIS男女女男201918192.投影例子4:查詢學(xué)生的姓名和所在系.

Sno

Sname

SsexSageSdept李勇劉晨王敏張立95001950029500395004CSISMAIS男女女男20191819Sname

Sdept李勇劉晨王敏張立CSISMAIS3.連接等值連接:當(dāng)連接條件為“=”時(shí)的連接運(yùn)算.AR.BCS.BEABCRa1a1a2a2b1b2b3b456812BESb1b2b3b3b5371022a2b38b310a2b38b32AR.BCEa1a1a2a2b1b2b3b3568837102自然連接:是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉.ABCRa1a1a2a2b1b2b3b456812BESb1b2b3b3b5371022數(shù)據(jù)庫管理系統(tǒng)DBMS中用來定義模式、內(nèi)模式和外模式的語言為

A)C B)BasicC)DDL D)DML下列有關(guān)數(shù)據(jù)庫的描述,正確的是

A)數(shù)據(jù)庫是一個(gè)DBF文件 B)數(shù)據(jù)庫是一個(gè)關(guān)系

C)數(shù)據(jù)庫是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合 D)數(shù)據(jù)庫是一組文件下列有關(guān)數(shù)據(jù)庫的描述,正確的是

A)數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程

B)數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變

C)關(guān)系中的每一列稱為元組,一個(gè)元組就是一個(gè)字段

D)如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字例題講解應(yīng)用數(shù)據(jù)庫的主要目的是

A)解決數(shù)據(jù)保密問題 B)解決數(shù)據(jù)完整性問題

C)解決數(shù)據(jù)共享問題 D)解決數(shù)據(jù)量大的問題在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于

A)需求分析階段 B)邏輯設(shè)計(jì)階段

C)概念設(shè)計(jì)階段 D)物理設(shè)計(jì)階段在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是A)數(shù)據(jù)庫系統(tǒng) B)文件系統(tǒng)C)人工管理 D)數(shù)據(jù)項(xiàng)管理下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是A)數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余B)數(shù)據(jù)庫系統(tǒng)避免了一切冗余C)數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致D)數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)索引屬于

A)模式 B)內(nèi)模式C)外模式 D)概念模式數(shù)據(jù)庫系統(tǒng)的核心是

A)數(shù)據(jù)庫 B)數(shù)據(jù)庫管理系統(tǒng)

C)模擬模型 D)軟件工程分布式數(shù)據(jù)庫系統(tǒng)不具有的特點(diǎn)是

A)數(shù)據(jù)分布性和邏輯整體性B)位置透明性和復(fù)制透明性

C)分布性 D)數(shù)據(jù)冗余關(guān)系表中的每一橫行稱為一個(gè)A)元組 B)字段C)屬性 D)碼下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是

A)層次模型 B)網(wǎng)狀模型

C)關(guān)系模型 D)以上3個(gè)都是下列SQL語句中,用于修改表結(jié)構(gòu)的是

A)ALTER B)CREATEC)UPDATED)INSERT數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系是

A)數(shù)據(jù)庫包括數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)

B)數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)

C)數(shù)據(jù)庫管理系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論