二級公共基礎(chǔ)知識課件主講_第1頁
二級公共基礎(chǔ)知識課件主講_第2頁
二級公共基礎(chǔ)知識課件主講_第3頁
二級公共基礎(chǔ)知識課件主講_第4頁
二級公共基礎(chǔ)知識課件主講_第5頁
已閱讀5頁,還剩165頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

二級公共基礎(chǔ)知識1

一、涉及面廣,但難度小你應(yīng)該知道

公共基礎(chǔ)知識考題特點及復(fù)習(xí)建議計算機等級二級理論考試中有關(guān)公共知識部分的題目共有15道,涉及算法及數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計基礎(chǔ)、軟件工程基礎(chǔ)和數(shù)據(jù)庫設(shè)計基礎(chǔ)等四門學(xué)科,但是從整體上分析,考試中的考核內(nèi)容的難度不大,考點也相對集中些。2二、考核重點為基本概念、基本方法和基本運算你應(yīng)該知道

計算機等級二級理論考試中涉及的題目都是基本概念、基本方法和基本運算,考核以概念和認(rèn)識性內(nèi)容為主,理解性、應(yīng)用性內(nèi)容極少。

3三、考核重點是數(shù)據(jù)結(jié)構(gòu)和算法你應(yīng)該知道

以下是對以往二級理論考試的大概統(tǒng)計:

算法及數(shù)據(jù)結(jié)構(gòu):50%程序設(shè)計基礎(chǔ):12.5%軟件工程基礎(chǔ):18.75%數(shù)據(jù)庫設(shè)計基礎(chǔ):18.75%4四、復(fù)習(xí)及應(yīng)試建議復(fù)習(xí)的關(guān)鍵是考生必須準(zhǔn)確判斷和掌握常見考點公共基礎(chǔ)知識部分的知識點多、雜,考生在學(xué)習(xí)過程中應(yīng)理清其中的脈絡(luò)關(guān)系(即框架提綱),才能有效地組織和記住各知識點考生不要太追求靈活掌握該部分的內(nèi)容,最好經(jīng)歷一個“先死后活、熟能生巧”的過程,這是多數(shù)考生常犯的另一種錯誤最后給大家一個答題技巧:“會就會,不會就不會”,不要拖時間,要考慮成本/效果的關(guān)系,為后面的題目提供時間。

51、了解算法的基本概念和一些常用的算法,學(xué)會計算算法的時間復(fù)雜度;2、掌握數(shù)據(jù)結(jié)構(gòu)的基本概念,并了解數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),學(xué)會利用圖形的方式表示數(shù)據(jù)結(jié)構(gòu);學(xué)習(xí)目標(biāo)與要求算法與數(shù)據(jù)結(jié)構(gòu):3、了解線性表的基本概念,并掌握線性表的順序存儲結(jié)構(gòu)以及順序存儲的線性表的基本運算;4、了解棧和隊列的基本概念,并掌握它們的基本運算;5、了解線性鏈表的基本概念,并掌握線性鏈表的基本運算,同時,了解循環(huán)鏈表的基本概念和基本操作;

6、理解樹的概念,尤其是二叉樹的基本概念和相關(guān)性質(zhì),掌握二叉樹的存儲結(jié)構(gòu)和遍歷技術(shù);7、掌握查找技術(shù),學(xué)會利用順序查找和二分查找在數(shù)列中查找指定的數(shù)據(jù);8、學(xué)會利用相關(guān)的排序技術(shù)實現(xiàn)無序數(shù)列的排序操作。61、了解軟件工程的基本概念;2、了解軟件工程過程與軟件的生命周期,以及軟件工程的目標(biāo)和原則;學(xué)習(xí)目標(biāo)與要求軟件工程:3、了解利用結(jié)構(gòu)化分析法進行軟件工程中的需求分析的方法,并了解需求分析的方法和需要完成的任務(wù);4、了解數(shù)據(jù)流圖的使用方法;5、了解如何利用結(jié)構(gòu)化設(shè)計方法進行軟件設(shè)計,并了解軟件設(shè)計的一些常用工具;

6、了解軟件測試的目的和方法,以及軟件測試的準(zhǔn)則,了解常用的軟件測試方法的區(qū)別和各自的功能與特點;7、了解程序調(diào)試的方法和原則。71、了解程序設(shè)計的方法,以及程序設(shè)計風(fēng)格確立的一些因素,掌握程序設(shè)計的基本規(guī)則;2、了解結(jié)構(gòu)化程序設(shè)計的基本原則,掌握結(jié)構(gòu)化程序設(shè)計的基本結(jié)構(gòu)與特點;學(xué)習(xí)目標(biāo)與要求程序設(shè)計基礎(chǔ):3、了解面向?qū)ο蟮某绦蛟O(shè)計方法,并理解面向?qū)ο蠓椒ǖ囊恍┗靖拍睢?/p>

數(shù)據(jù)庫系統(tǒng):1、了解數(shù)據(jù)庫系統(tǒng)的基本概念,以及數(shù)據(jù)庫系統(tǒng)的發(fā)展;

2、了解數(shù)據(jù)模型的基本概念,并對E-R模型、層次模型、網(wǎng)狀模型和關(guān)系模型進行了解,并掌握關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)、關(guān)系的操作和數(shù)據(jù)約束等知識;

3、了解關(guān)系模型的基本操作,掌握關(guān)系模型的基本運算及擴充運算;4、了解數(shù)據(jù)庫的設(shè)計與管理,掌握數(shù)據(jù)庫設(shè)計的幾個階段的方法和特點。

8程序設(shè)計基本概念一、計算機工作原理通過工作原理了解,熟悉計算機內(nèi)部執(zhí)行功能的基本意義。為理解程序打下基礎(chǔ),特別理解計算機是機器。二、程序的定義指令的集合。(解釋指令)通過硬件控制系統(tǒng)自動完成某一功能。通過一系列代碼實現(xiàn)。9程序設(shè)計基本概念三、程序怎樣執(zhí)行、如何編寫程序計算機本身僅能識別二進制代碼“0”、“1”。編程最直接、最低級的就是機器語言。為解決機器語言難理解、記憶等問題。出現(xiàn)符號語言。為使編程接近自然語言,出現(xiàn)高級語言。如C、PASCAL、FORTRAN等。為配合高級語言編程,出現(xiàn)了開發(fā)工具,提高效率、減輕勞動量。如VB、VC、PB、Delphi、VFP等。因此VFP不是編程語言。10程序設(shè)計基本概念不管什么形式編寫代碼,最終都應(yīng)將代碼翻譯成機器語言,這就是編譯程序的工作。不同的語言有不同的編譯器。程序控制是一種邏輯控制。因此,嚴(yán)謹(jǐn)?shù)倪壿嬎季S是一個程序員必備的基本素質(zhì)。用程序?qū)崿F(xiàn)某一功能。有許多方法。具體用哪種完全取決于程序員個人的思維方式。因此,程序是腦力勞動的結(jié)晶,從某種意義上,編程又是一門藝術(shù)。程序的特殊性決定了程序的復(fù)雜性,且與實現(xiàn)功能的復(fù)雜性密切相關(guān)成正比。因此為使復(fù)雜的、智力的編程工作規(guī)范化、科學(xué)化,便出現(xiàn)了各種編程設(shè)計方法。如結(jié)構(gòu)化編程方法、面向?qū)ο蟮某绦蛟O(shè)計方法等。11程序設(shè)計基本概念不管用什么方法編程,不管編程者智力程度如何,不管采用什么樣的編程語言和方法,程序最終完成的功能穩(wěn)定、可靠、實用、易維護和安全等是程序的最終目標(biāo),也是程序員的追求。程序設(shè)計是一個復(fù)雜艱巨的過程。編寫代碼僅是程序設(shè)計的一部分。必須先有思想,再有方法,然后才是編寫代碼,且要經(jīng)過許多反復(fù),不可急功近利。12程序設(shè)計基本概念四、程序設(shè)計語言或工具程序設(shè)計語言指的是用來編寫程序的語言。人與計算機交流要使用語言,以便讓計算機工作,計算機也通過語言把結(jié)果告訴用計算機的人——“人機對話”。人與計算機交流的語言非平常人與人之間交流的語言,是專門的語言——程序設(shè)計語言。程序設(shè)計語言是計算機系統(tǒng)軟件的重要組成部分。13程序設(shè)計基本概念執(zhí)行程序設(shè)計的語言有很多,可分高級語言和低級語言,區(qū)別在于接近自然語言的程度高級語言一般與具體的計算機硬件無關(guān),比較接近人類自然語言的語法習(xí)慣及數(shù)學(xué)表達(dá)形式。用高級語言編寫的源程序不能被機器直接執(zhí)行,需通過編譯成解釋程序的翻譯才可被機器執(zhí)行(機器語言)。

四、程序設(shè)計語言或工具(續(xù))14算法與數(shù)據(jù)結(jié)構(gòu)一、算法(algorithm)1、算法的基本概念

算法是對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個或多個操作。它是一組嚴(yán)謹(jǐn)?shù)囟x運算順序的規(guī)則,并且每一個規(guī)則都是有效的,且是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。算法具有有窮性、確定性、可行性、輸入和輸出(擁有足夠的情報)等5個重要特性。15學(xué)習(xí)目標(biāo)與要求2、算法的基本要素對數(shù)據(jù)對象的運算和操作:算術(shù)運算、邏輯運算、關(guān)系運算、數(shù)據(jù)傳輸算法中各操作之間的執(zhí)行順序;描述算法的工具通常有傳統(tǒng)流程圖、N-S結(jié)構(gòu)化流程圖、算法描述語言等;一個算法一般可以用順序、選擇、循環(huán)三種基本結(jié)構(gòu)組合而成。算法的控制結(jié)構(gòu):16算法與數(shù)據(jù)結(jié)構(gòu)3、算法設(shè)計的基本方法列舉法歸納法遞推遞歸(以簡潔的形式設(shè)計和描述算法)減半遞推技術(shù)回溯法17算法與數(shù)據(jù)結(jié)構(gòu)二、算法的復(fù)雜度1、時間復(fù)雜度依據(jù)算法編制的程序在計算機上運行時所消耗的時間來度量。通常有事后統(tǒng)計法和事前分析估算法。一個算法是由控制結(jié)構(gòu)(順序、分支和循環(huán))和原操作構(gòu)成的,算法時間取決于兩者的綜合效果。算法中基本操作重復(fù)執(zhí)行次數(shù)n和算法執(zhí)行時間同步增長,稱作算法的時間復(fù)雜度。18算法與數(shù)據(jù)結(jié)構(gòu)2、空間復(fù)雜度一般是指執(zhí)行這個算法所需要的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占的空間、

輸入的初始數(shù)據(jù)所占的存儲空間以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲空間。一個上機執(zhí)行的程序除了需要存儲空間來寄存本身所用指令、常數(shù)、變量和輸入數(shù)據(jù)外,也需要一些對數(shù)據(jù)進行操作的工作單元和存儲一些為實現(xiàn)計算所需信息的輔助空間。19算法與數(shù)據(jù)結(jié)構(gòu)3、例題講解算法的時間復(fù)雜度是指(C

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

【1】和擁有足夠的情報?!敬鸢浮?有窮性算法的空間復(fù)雜度是指(D

)

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

C)算法程序所占的存儲空間

D)執(zhí)行過程中所需要的存儲空間√

20算法與數(shù)據(jù)結(jié)構(gòu)在計算機中,算法是指(B

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

C)排序方法 D)查詢方法算法分析的目的是(D

)

A)找出數(shù)據(jù)結(jié)構(gòu)的合理性

B)找出算法中輸入和輸出之間的關(guān)系

C)分析算法的易懂性和可靠性

D)分析算法的效率以求改進算法的工作量大小和實現(xiàn)算法所需的存儲單元多少分別稱為算法的【1】

?!敬鸢浮?時間復(fù)雜度和空間復(fù)雜度√

21算法與數(shù)據(jù)結(jié)構(gòu)三、數(shù)據(jù)結(jié)構(gòu)(DataStructure)1、數(shù)據(jù)結(jié)構(gòu)研究的主要內(nèi)容當(dāng)今計算機應(yīng)用的特點:1、所處理的數(shù)據(jù)量大且具有一定的關(guān)系;2、對其操作不再是單純的數(shù)值計算,而更多地是需要對其進行組織、管理和檢索。對數(shù)據(jù)的討論不單單是數(shù)據(jù)本身,還要包括數(shù)據(jù)與數(shù)據(jù)之間的關(guān)系。22特點:每個學(xué)生的信息占據(jù)一行,所有學(xué)生的信息按學(xué)號順序依次排列構(gòu)成一張表格;表中每個學(xué)生的信息依據(jù)學(xué)號的大小存在著一種前后關(guān)系,這就是我們所說的線性結(jié)構(gòu);對它的操作通常是插入某個學(xué)生的信息,刪除某個學(xué)生的信息,更新某個學(xué)生的信息,按條件檢索某個學(xué)生的信息等等。應(yīng)用舉例1——學(xué)籍檔案管理假設(shè)一個學(xué)籍檔案管理系統(tǒng)應(yīng)包含如下表所示的學(xué)生信息。23應(yīng)用舉例2——家庭血緣關(guān)系圖

表示家庭成員的輩分關(guān)系,使用下圖1-1所示的形式描述。圖1-1家庭血緣關(guān)系圖特點:

在求解過程中,所處理的數(shù)據(jù)之間具有層次關(guān)系,這是我們所說的樹形結(jié)構(gòu);對它的操作有:建立樹形結(jié)構(gòu),輸出最結(jié)點內(nèi)容等等。24應(yīng)用舉例3——制定教學(xué)計劃在制定教學(xué)計劃時,需要考慮各門課程的開設(shè)順序。有些課程需要先導(dǎo)課程,有些課程則不需要,而有些課程又是其他課程的先導(dǎo)課程。比如,計算機專業(yè)課程的開設(shè)情況如下表所示:25這種數(shù)據(jù)可以用下面的圖來表示:25課程先后關(guān)系的圖形描形式:c1c9c4c2c12c10c11c5c3c6c7c8圖1-2計算機專業(yè)必修課程開設(shè)先后關(guān)系26261、數(shù)據(jù)的邏輯結(jié)構(gòu)

2、數(shù)據(jù)的存儲結(jié)構(gòu)

3、數(shù)據(jù)的運算:檢索、排序、插入、刪除、修改等。A.線性結(jié)構(gòu)B.非線性結(jié)構(gòu)A.順序存儲

B.鏈?zhǔn)酱鎯€性表棧隊樹形結(jié)構(gòu)圖形結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)的三個方面(亦稱物理結(jié)構(gòu))數(shù)據(jù)結(jié)構(gòu)的主要研究問題:27272、基本概念和術(shù)語

數(shù)據(jù)結(jié)構(gòu)是一門研究數(shù)據(jù)組織、存儲和運算的一般方法的學(xué)科。例:整數(shù)(1,2)、實數(shù)(1.1,1.2)字符串(Beijing)、圖形、聲音。計算機管理圖書問題:在圖書館里有各種卡片:有按書名編排的、有按作者編排的、有按分類編排。如何將查詢圖書的這些信息存入計算機中既要考慮查詢時間短,又要考慮節(jié)省空間。最簡單的辦法之一是建立一張表,每一本書的信息在表中占一行,如:2828數(shù)據(jù)元素在計算機中的表示

數(shù)據(jù)結(jié)構(gòu)是一門研究數(shù)據(jù)組織、存儲和運算的一般方法的學(xué)科。如何將0,1,2,3,4,5,6,7,8,9這10個數(shù)存放

在計算機中能最快地達(dá)到你所需要的目的?目的不同,最佳的存儲方方法就不同。從大到小排列:9,8,7,6,5,4,3,2,1,0輸出偶數(shù):0,2,4,6,8,1,3,5,7,9

對數(shù)據(jù)結(jié)構(gòu)中的節(jié)點進行操作處理(插入、刪除、修改、查找、排序)2929數(shù)據(jù)元素(DataElement)數(shù)據(jù)元素是數(shù)據(jù)的基本單位,即數(shù)據(jù)集合中的個體。有時一個數(shù)據(jù)元素可由若干數(shù)據(jù)項(DataItem)組成。數(shù)據(jù)項是數(shù)據(jù)的最小單位。數(shù)據(jù)元素亦稱節(jié)點或記錄。數(shù)據(jù)結(jié)構(gòu)可描述為Group=(D,R)有限個數(shù)據(jù)元素的集合有限個節(jié)點間關(guān)系的集合3030數(shù)據(jù)結(jié)構(gòu)可描述為Group=(D,R)例1:一年四季的數(shù)據(jù)結(jié)構(gòu)可表示成

B=(D,R) D={春,夏,秋,冬} R={(春,夏),(夏,秋),(秋,冬)}

例2:家庭成員數(shù)據(jù)結(jié)構(gòu)可表示成 B=(D,R) D={父親,兒子,女兒} R={(父親,兒子),(父親,女兒)}冬春夏秋父親兒子女兒31數(shù)據(jù)結(jié)構(gòu)也可用圖形表示一年四季的數(shù)據(jù)結(jié)構(gòu)可表示成家庭成員數(shù)據(jù)結(jié)構(gòu)可表示成冬春夏秋父親兒子女兒(概念:結(jié)點、前件、后件、根結(jié)點、葉子)32樹形結(jié)構(gòu)全校學(xué)生檔案管理的組織方式計算機程序管理系統(tǒng)也是典型的樹形結(jié)構(gòu)。33HGFECDBA樹形結(jié)構(gòu)——結(jié)點間具有分層次的連接關(guān)系HBCDEFGA341423D={1,2,3,4}R={(1,2),(1,3),(1,4),(2,3),(3,4),(2,4)}

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

圖形結(jié)構(gòu)——節(jié)點間的連結(jié)是任意的353、例題講解數(shù)據(jù)處理的最小單位是(C

)

A)數(shù)據(jù) B)數(shù)據(jù)元素C)數(shù)據(jù)項

D)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)作為計算機的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對各種數(shù)據(jù)結(jié)構(gòu)進行的運算,以及(A

)

A)數(shù)據(jù)的存儲結(jié)構(gòu)

B)計算方法

C)數(shù)據(jù)映象D)邏輯存儲數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的

【4】

以及對數(shù)據(jù)的操作運算?!敬鸢浮课锢斫Y(jié)構(gòu)(或存儲結(jié)構(gòu))36線性結(jié)構(gòu)與非線性結(jié)構(gòu):線性結(jié)構(gòu):有且只有一個根結(jié)點;每一個結(jié)點最多有一個前件,也最多有一個后件。如:一年四季,26個英文字母非線性結(jié)構(gòu):線性以外的數(shù)據(jù)結(jié)構(gòu)。如:反映家庭成員間輩分關(guān)系的數(shù)據(jù)結(jié)構(gòu)

算法與數(shù)據(jù)結(jié)構(gòu)374、線性表(LinearList)學(xué)生成績表(按成績排列)86胡孝臣986110395劉忠賞9861107100張卓9861109成績姓名學(xué)號

線性表——結(jié)點間是以線性關(guān)系聯(lián)結(jié):線性表:具有線性結(jié)構(gòu)的有限序列。數(shù)據(jù)元素在線性表中的位置只取決于它們自己的序號,即數(shù)據(jù)元素之間的相對位置是線性的。38線性表的定義:

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

其中n稱作表的長度,當(dāng)n=0時,稱作空表。線性表的特點:1、線性表中所有元素的性質(zhì)相同。2、除第一個和最后一個數(shù)據(jù)元素之外,其它數(shù)據(jù)元素有且僅有一個前驅(qū)和一個后繼。第一個數(shù)據(jù)元素?zé)o前驅(qū),最后一個數(shù)據(jù)元素?zé)o后繼。3、數(shù)據(jù)元素在表中的位置只取決于它自身的序號。在線性表上常用的運算有:初始化、求長度、取元素、修改、前插、刪除、檢索、排序3939線性表的順序存儲結(jié)構(gòu)

及其插入

與刪除

操作特點:

1、線性表中數(shù)據(jù)元素類型一致,只有數(shù)據(jù)域,存儲空間利用率高。2、所有元素所占的存儲空間是連續(xù)的。3、各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的(a)做插入、刪除時需移動大量元素。(b)空間估計不明時,按最大空間分配。算法與數(shù)據(jù)結(jié)構(gòu)40順序存儲存儲地址存儲內(nèi)容元素n……..元素i……..元素2元素1LoLo+mLo+(i-1)×mLo+(n-1)×mLoc(元素i)=Lo+(i-1)×m每個元素所占用的存儲單元個數(shù)

線性表的順序存儲結(jié)構(gòu):首地址起始地址基地址41元素a1元素a2……..元素ai+1……..01i線性表的順序存儲結(jié)構(gòu)——可用C語言中的一維數(shù)組來描述.第i個元素的ai存儲地址:Loc(ai)=Loc(a1)+(i-1)*mV[0]V[1]V[i]V[m-1]intV[M];

其中:V是數(shù)組的名字,M是數(shù)組大小,假設(shè)數(shù)組中的元素是整型類型算法與數(shù)據(jù)結(jié)構(gòu)42插入運算…..a2a1an…..ai+1ai01i-1in-1ai-1…..a2a1alength

…ai+1ai

x

ai-1…..

a2

a1

X

aiai+1…..alength插入算法的分析假設(shè)線性表中含有n個數(shù)據(jù)元素,在進行插入操作時,若假定在n+1個位置上插入元素的可能性均等,則平均移動元素的個數(shù)為:4343在進行刪除操作時,若假定刪除每個元素的可能性均等,則平均移動元素的個數(shù)為:分析結(jié)論順序存儲結(jié)構(gòu)表示的線性表,在做插入或刪除操作時,平均需要移動大約一半的數(shù)據(jù)元素。當(dāng)線性表的數(shù)據(jù)元素量較大,并且經(jīng)常要對其做插入或刪除操作時,這一點需要值得考慮。刪除算法的分析4444線性表的例題講解順序存儲方法是把邏輯上相鄰的結(jié)點存儲在物理位置

【1】

的存儲單元中?!敬鸢浮肯噜忛L度為n的順序存儲線性表中,當(dāng)在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數(shù)為【2】。【答案】

n/2

線性表L=(a1,a2,a3,…ai,…an),下列說法正確的是(D)

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

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

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

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

4545數(shù)據(jù)結(jié)構(gòu)中,與所使用的計算機無關(guān)的是數(shù)據(jù)的(C

)

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

C)邏輯結(jié)構(gòu)

D)物理和存儲結(jié)構(gòu)下列敘述中,錯誤的是(B)

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

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

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

D)一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)數(shù)據(jù)的存儲結(jié)構(gòu)是指(B)A)數(shù)據(jù)所占的存儲空間B)數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示C)數(shù)據(jù)在計算機中的順序存儲方式D)存儲在外存中的數(shù)據(jù)46根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分成(C)

A)動態(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)有線性結(jié)構(gòu)和【2】兩大類。非線性結(jié)構(gòu)當(dāng)線性表采用順序存儲結(jié)構(gòu)實現(xiàn)存儲時,其主要特點是【1】?!敬鸢浮窟壿嫿Y(jié)構(gòu)中相鄰的結(jié)點在存儲結(jié)構(gòu)中仍相鄰。47475、堆棧和隊列堆棧和隊列的定義棧和隊列是兩種特殊的線性表,它們是運算時要受到某些限制的線性表,故也稱為限定性的數(shù)據(jù)結(jié)構(gòu)。堆棧的定義堆棧:限定只能在表的一端進行插入和刪除的特殊的線性表,此種結(jié)構(gòu)稱為后進先出。設(shè)棧s=(a1,a2,…ai,…,an),其中a1是棧底元素,an是棧頂元素。棧頂(top):允許插入和刪除的一端;約定top始終指向新數(shù)據(jù)元素將存放的位置。棧底(bottom):不允許插入和刪除的一端。

a1

a2….

an進棧出棧棧頂棧底4848隊列的定義隊列:一種特殊的線性結(jié)構(gòu),限定只能在表的一端進行插入,在表的另一端進行刪除的線性表。此種結(jié)構(gòu)稱為先進先出(FIFO)表。

a1,

a2,

a3,

a4,…………

an-1,

an隊列示意圖隊頭隊尾隊列的主要運算(1)設(shè)置一個空隊列;(2)插入一個新的隊尾元素,稱為進隊;(3)刪除隊頭元素,稱為出隊;(4)讀取隊頭元素;4949堆棧和隊列的例題講解棧和隊列的共同特點是(C

A)都是先進先出

B)都是先進后出

C)只允許在端點處插入和刪除元素

D)沒有共同點如果進棧序列為e1,e2,e3,e4,則可能的出棧序列是(B

A)e3,e1,e4,e2B)e4,e3,e2,e1

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

A)棧

B)堆C)數(shù)組 D)鏈表√

5050棧底至棧頂依次存放元素A、B、C、D,在第五個元素E

入棧前,棧中元素可以出棧,則出棧序列可能是(B

A)ABCED B)DCBEA

C)DBCEA D)CDABE

棧通常采用的兩種存儲結(jié)構(gòu)是(A

A)順序存儲結(jié)構(gòu)和鏈表存儲結(jié)構(gòu) B)散列方式和索引方式

C)鏈表存儲結(jié)構(gòu)和數(shù)組

D)線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)棧和隊列通常采用的存儲結(jié)構(gòu)是【1】?!敬鸢浮挎?zhǔn)酱鎯晚樞虼鎯ο铝袛?shù)據(jù)結(jié)構(gòu)中,按先進后出原則組織數(shù)據(jù)的是(B

A)線性鏈表B)棧

C)循環(huán)鏈表 D)順序表√

5151當(dāng)循環(huán)隊列非空且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進行入隊運算。這種情況稱為【2】。答案:上溢下列關(guān)于棧的敘述中正確的是(

D)A)在棧中只能插入數(shù)據(jù)B)在棧中只能刪除數(shù)據(jù)C)棧是先進先出的線性表D)棧是后進先出的線性表假設(shè)一個長度為50的數(shù)組(數(shù)組元素的下標(biāo)從0到49)作為棧的存儲空間,棧底指針bottom指向棧底元素,棧頂指針top指向棧頂元素,如果bottom=49,top=30(數(shù)組下標(biāo)),則棧中具有多少個元素?下列關(guān)于隊列的敘述中正確的是(C

)A)在隊列中只能插入數(shù)據(jù)B)在隊列中只能刪除數(shù)據(jù)C)隊列是先進先出的線性表

D)隊列是后進先出的線性表。

5252設(shè)某循環(huán)隊列的容量為50,頭指針front=5(指向隊頭元素的前一位置),尾指針rear=29(指向隊尾元素),則該循環(huán)隊列中共有____個元素。(2010.3)設(shè)某循環(huán)隊列的容量為50,如果頭指針front=45(指向隊頭元素的前一位置),尾指針rear=10(指向隊尾元素),則該循環(huán)隊列中共有【2】個元素。53順序存儲結(jié)構(gòu)常用于線性數(shù)據(jù)結(jié)構(gòu),將邏輯上相鄰的數(shù)據(jù)元素存儲在物理上相鄰的存儲單元里。順序存儲結(jié)構(gòu)的三個缺點:1.作插入或刪除操作時,需移動大量元數(shù)。2.長度變化較大時,需按最大空間分配。3.表的容量難以擴充。存儲內(nèi)容元素n……..元素i……..元素2元素154546、線性鏈表線性鏈表的基本概念:

線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表。為了適應(yīng)線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu),計算機存儲空間被劃分為一個一個小塊,每一小塊占若干字節(jié),通常稱這些小塊為存儲結(jié)點。算法與數(shù)據(jù)結(jié)構(gòu)55將存儲空間中的每一個存儲結(jié)點分為兩部:一部分稱為數(shù)據(jù)域,用于存儲數(shù)據(jù)元素的值;另一部分稱為指針域,用于存放下一個數(shù)據(jù)元素的存儲序號(即存儲結(jié)點的地址),也就是指向后件結(jié)點.線性鏈表中存儲結(jié)點的結(jié)構(gòu)如圖2.20所示56561、比順序存儲結(jié)構(gòu)的存儲密度小(每個節(jié)點都由數(shù)據(jù)域和指針域組成,所以相同空間內(nèi)假設(shè)全存滿的話順序比鏈?zhǔn)酱鎯Ω?。2、邏輯上相鄰的節(jié)點物理上不必相鄰。3、插入、刪除靈活(不必移動節(jié)點,只要改變節(jié)點中的指針)。4、查找結(jié)點時鏈?zhǔn)酱鎯σ软樞虼鎯β?。鏈接存儲結(jié)構(gòu)特點:算法與數(shù)據(jù)結(jié)構(gòu)57指向線性表中第一個結(jié)點的指針HEAD稱為頭指針。當(dāng)HEAD=NULL(或0)時稱為空表。對于線性鏈表,可以從頭指針開始,沿著各個結(jié)點的指針掃描到鏈表中的所有結(jié)點。線性鏈表的邏輯結(jié)構(gòu)圖所示58595960線性鏈表的基本運算:線性鏈表的運算主要有以下幾個:①在線性鏈表中包含指定元素的結(jié)點之前

插入一個新元素。②在線性鏈表中刪除包含指定元素的結(jié)點。③將兩個線性鏈表按要求合并成一個線性鏈表。61線性鏈表的插入

運算:線性鏈表的插入是指在鏈?zhǔn)酱鎯Y(jié)構(gòu)下的線性表中插入一個新元素。為了要在線性鏈表中插入一個新元素,首先要給該元素分配一個新結(jié)點,然后將存放新元素值的結(jié)點鏈接到線性鏈表中指定的位置。算法與數(shù)據(jù)結(jié)構(gòu)626363

線性鏈表的刪除指在鏈?zhǔn)酱鎯Y(jié)構(gòu)下的線性表中刪除包含指定元素的結(jié)點。為了在線性鏈表中刪除包含指定元素的結(jié)點,首先要在線性鏈表中找到這個結(jié)點,然后將要刪除結(jié)點放回到可利用棧。線性鏈表的刪除運算:算法與數(shù)據(jù)結(jié)構(gòu)646565循環(huán)鏈表的結(jié)構(gòu)與前面所討論的線性鏈表相比,具有以下兩個特點:①循環(huán)鏈表的頭指針指向表頭結(jié)點。②在循環(huán)鏈表中,所有結(jié)點的指針構(gòu)成了一個環(huán)狀鏈。

圖2.29是循環(huán)鏈表的示意圖。循環(huán)鏈表:6666在實際應(yīng)用中,循環(huán)鏈表與線性單鏈表相比主要有以下兩個方面的優(yōu)點:①在循環(huán)鏈表中,只要指出表中任何一個結(jié)點的位置,就可以從它出發(fā)訪問到表中其他所有的結(jié)點。②由于在循環(huán)鏈表中設(shè)置了一個表頭結(jié)點,因此,在任何情況下,循環(huán)鏈表中至少有一個結(jié)點存在,從而使空表與非空表的運算統(tǒng)一。算法與數(shù)據(jù)結(jié)構(gòu)67鏈表不具有的特點是(B

)A)不必事先估計存儲空間B)可隨機訪問任一元素C)插入刪除不需要移動元素

D)所需空間與線性表長度成正比數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于【1】?!敬鸢浮看鎯Y(jié)構(gòu)線性表的順序存儲結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)分別是(B)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)線性鏈表的例題講解68687、樹與二叉樹:樹的基本概念:前面我們討論的線性表,棧、隊列和數(shù)組等都是線性結(jié)構(gòu)。而樹是一種非線性數(shù)據(jù)結(jié)構(gòu),它的每一個結(jié)點,都可以有不止一個直接后繼,除根外的所有結(jié)點,都有且只有一個直接前趨。這些數(shù)據(jù)結(jié)點按分支關(guān)系組織起來,清晰地反映了數(shù)據(jù)元素之間的層次關(guān)系。69算法與數(shù)據(jù)結(jié)構(gòu)現(xiàn)實世界中,能用樹的結(jié)構(gòu)表示的例子:學(xué)校的行政關(guān)系、書的層次結(jié)構(gòu)、人類的家族血緣關(guān)系等。7071717272

二叉樹(binarytree)是一種很有用的非線性結(jié)構(gòu)。二叉樹具有以下兩個特點:(1)非空二叉樹只有一個根結(jié)點;(2)每一個結(jié)點最多有兩棵子樹,且分別稱為該結(jié)點的左子樹與右子樹。二叉樹(BinaryTree):因為樹的每個結(jié)點的度不同,存儲困難,使對樹的處理算法很復(fù)雜。所以引出二叉樹的討論。73737474性質(zhì)1:在任意一棵二叉樹中,度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。例子1:某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有

19個葉子結(jié)點。二叉樹的性質(zhì):

特別要注意:二叉樹是樹的特殊情況。aabb兩棵不同的二叉樹7575性質(zhì)2:二叉樹的第i層上至多有2i-1(i1)個結(jié)點二叉樹的性質(zhì):423167891011121314155第三層上(i=3),有23-1=4個節(jié)點。第四層上(i=4),有24-1=8個節(jié)點。76二叉樹的性質(zhì):性質(zhì)3:深度為h的二叉樹中至多含有2h-1個結(jié)點423167891011121314155此樹的深度h=4,共有24-1=15個節(jié)點。77滿二叉樹與完全二叉樹滿二叉樹是指除最后一層外,每一層上的所有結(jié)點都有兩個子結(jié)點。完全二叉樹是指這樣的二叉樹:除最后一層外,每一層上的結(jié)點數(shù)均達(dá)到最大值;在最后一層上只缺少右邊的若干結(jié)點。注意:滿二叉樹是完全二叉樹,完全二叉樹不一定是滿二叉樹。算法與數(shù)據(jù)結(jié)構(gòu)78滿二叉樹的特點:每一層上都含有最大結(jié)點數(shù)。7979完全二叉樹的特點:除最后一層外,每一層都取最大結(jié)點數(shù),最后一層結(jié)點都集中在該層最左邊的若干位置8080對于完全二叉樹而言如果它的結(jié)點個數(shù)為偶數(shù),則該二叉樹中:

葉子結(jié)點的個數(shù)=非葉子結(jié)點的個數(shù)如果它的結(jié)點個數(shù)為奇數(shù),則該二叉樹中:

葉子結(jié)點的個數(shù)=非葉子結(jié)點的個數(shù)+1

(即葉子結(jié)點數(shù)比非葉子結(jié)點數(shù)多一個)規(guī)律總結(jié):算法與數(shù)據(jù)結(jié)構(gòu)81例題講解1、設(shè)一棵完全二叉樹共有700個結(jié)點,則在該二叉樹中有

350

個葉子結(jié)點。2、在深度為5的滿二叉樹中,葉子結(jié)點的個數(shù)為(C

)A)32B)31C)16D)15算法與數(shù)據(jù)結(jié)構(gòu)√

82二叉樹的遍歷

二叉樹的遍歷是指不重復(fù)地訪問二叉樹中的所有結(jié)點。二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷、后序遍歷。設(shè)訪問根結(jié)點記作V;遍歷根的左子樹記作L;遍歷根的右子樹記作R;

前序:

VLR(即根左右)

中序:

LVR(即左根右)后序:

LRV(即左右根)838384841、設(shè)一棵二叉樹的中序遍歷結(jié)果為DBEAFC,

前序遍歷結(jié)果為ABDECF,則后序遍歷結(jié)果為:

DEBFCA

例題講解2、已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為(B)

A)GEDHFBCA B)DGEBHFCAC)ABCDEFGH D)ACBFEDHG√

前序:ABDECF(前序:根最先訪問,根必在第一個)

中序:DBEAFC(由上可中序根所在,劃分出左右子樹)前序:ABDECF中序:DBEAFC前序:ABDECF中序:DBEA

FC85具有3個結(jié)點的二叉樹有(D

A)2種形態(tài)B)4種形態(tài)

C)7種形態(tài)D)5種形態(tài)

設(shè)有下列二叉樹:

對此二叉樹前序遍歷的結(jié)果為(B

)A)ZBTTCPXA B)ATBZXCTP

C)ZBTACTXPD)ATBZXCPT√

86868、查找和排序:查找——又稱為檢索

查找算法的評價主要考慮算法的時間復(fù)雜性,既可以采用數(shù)量級的形式表示,也可以采用平均檢索(查找)長度,即在查找成功情況下的平均比較次數(shù)來表示。查找可分為順序查找和二分法查找兩種。算法與數(shù)據(jù)結(jié)構(gòu)87(a)順序查找:

順序查找又稱線性查找。它是一種最簡單、最基本的查找方法?;舅枷胧牵簭谋碇械谝粭l記錄開始,逐個進行記錄的關(guān)鍵字和給定值的比較。若某個記錄的關(guān)鍵字和給定值相等,則查找成功;否則,若直至最后一個記錄,其關(guān)鍵字和給定值都不相等,則表明表中沒有所查記錄,查找不成功。算法與數(shù)據(jù)結(jié)構(gòu)88

二分查找又稱折半查找。作為二分查找對象的表必須是順序存儲的有序表,即各記錄的次序是按其關(guān)鍵字的大小順序(以下假定按從小到大的順序)排列的表。(b)二分查找:算法與數(shù)據(jù)結(jié)構(gòu)89

二分查找的具體做法是:先取表中間位置的記錄關(guān)鍵字與給定值比較。若相等,則查找成功;否則,若給定值比該記錄的關(guān)鍵字小,則給定值必在表的前半部分。在這前半部分中再取中間位置記錄的關(guān)鍵字進行比較,就又可以排除這部分的一半。依次反復(fù)進行,直到找到給定值或找完全表而找不到為止。對于n較大時,平均查找長度可以近似地表示為算法與數(shù)據(jù)結(jié)構(gòu)90用二分法查找{2,3,4,5,7,9,11,24,35,47,56,68,88}中的4,9,56比較次數(shù)分別是幾次,91

排序是將一組雜亂無章的數(shù)據(jù)按一定的規(guī)律順次排列起來。通常數(shù)據(jù)對象有多個屬性域,即由多個數(shù)據(jù)成員組成,其中有一個屬性域可用來區(qū)分對象,作為排序依據(jù)。該域稱為關(guān)鍵字(key)。

排序的時間開銷是衡量算法好壞的最重要的標(biāo)志。對于長度為n的有序線性表,查找時最壞情況只需比較n次。排序(sort)92(a)交換類排序:交換類排序法:冒泡排序法:需要比較的次數(shù)為n(n-1)/2快速排序法:是對冒泡排序的改進,是目前內(nèi)部排序中速度最快的一種。算法與數(shù)據(jù)結(jié)構(gòu)93(b)插入類排序:插入類排序的基本方法是:每步將一個待排序的對象,按其關(guān)鍵字大小,插入到前面已經(jīng)排好序的一組對象的適當(dāng)位置上,直到對象全部插入為止。簡單插入排序法:最壞情況需要n(n-1)/2次比較;希爾排序法:最壞情況需要O(n)次比較。算法與數(shù)據(jù)結(jié)構(gòu)94(c)選擇類排序:選擇類排序的思想是:每一趟(例如,第i趟,i=0,1,…,n?2)在后面n?i個待排序?qū)ο笾羞x出關(guān)鍵字最?。ㄉ颍魹榻敌?,選出最大關(guān)鍵字)的對象,作為有序?qū)ο笮蛄械牡趇個對象。待到第n?2趟作完,待排序?qū)ο笾皇O?個,不用再選了,結(jié)束排序。簡單選擇排序法,最壞情況需要n(n-1)/2次比較;堆排序法,最壞情況需要O(nlog2n)次比較。95程序設(shè)計基礎(chǔ)(一)程序設(shè)計方法與風(fēng)格

如何形成良好的程序設(shè)計風(fēng)格:1、源程序內(nèi)部文檔化;選擇標(biāo)識符的名字注釋(序言性和功能性注釋)程序的視覺組織一般位于模塊的首部,用于說明模塊的相關(guān)信息位于源程序模塊內(nèi)部96顯式地說明一切變量數(shù)據(jù)說明的次序應(yīng)該規(guī)范化

便于查找變量(按順序排列)對復(fù)雜數(shù)據(jù)結(jié)構(gòu)應(yīng)注釋說明

2、數(shù)據(jù)說明程序設(shè)計基礎(chǔ)3、語句的結(jié)構(gòu)每條語句簡單明了盡量不用或少用GOTO語句盡量只采用3種基本控制結(jié)構(gòu)編程974、輸入和輸出對所有輸入數(shù)據(jù)進行校驗和合理性檢查輸入輸出格式保持一致設(shè)計良好的輸出報表輸入方式應(yīng)力求簡單,盡量避免給用戶帶來不必要的麻煩;交互式輸入數(shù)據(jù)時應(yīng)有必要的提示信息;程序應(yīng)對輸入數(shù)據(jù)的合法性進行檢查;若用戶輸入某些數(shù)據(jù)后可能產(chǎn)生嚴(yán)重后果,應(yīng)給用戶輸出必要的提示并要求用戶確認(rèn);應(yīng)根據(jù)系統(tǒng)的特點和用戶的習(xí)慣設(shè)計出令用戶滿意的輸入方式。

輸出數(shù)據(jù)的格式應(yīng)清晰,美觀;輸出數(shù)據(jù)時要加上必要的提示信息。9898結(jié)構(gòu)化程序設(shè)計的主要思想是功能分解并逐步求精。當(dāng)一些任務(wù)十分復(fù)雜不易描述時,可以將它拆分為一系列較小的功能部件,直到這些子任務(wù)小到易于理解和實現(xiàn)的程度。 結(jié)構(gòu)化程序的特點:程序結(jié)構(gòu)僅由順序、選擇和循環(huán)3種結(jié)構(gòu)復(fù)合而成。程序設(shè)計基礎(chǔ)(二)結(jié)構(gòu)化程序設(shè)計

99(三)面向?qū)ο蟮某绦蛟O(shè)計方法面向?qū)ο蟮某绦蛟O(shè)計(Object-OrientedProgramming,OOP)是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動的系統(tǒng)方法,簡稱OO方法,它是建立在對象概念(對象、類和繼承)基礎(chǔ)上的方法。程序設(shè)計基礎(chǔ)100面向?qū)ο蟪绦蛟O(shè)計方法的優(yōu)點:(1)從認(rèn)知學(xué)的角度來看,面向?qū)ο蠓椒ǚ先藗儗陀^世界的認(rèn)識規(guī)律。(2)面向?qū)ο蠓椒ㄩ_發(fā)的軟件系統(tǒng)易于維護,其體系結(jié)構(gòu)易于理解、擴充和修改。(3)面向?qū)ο蠓椒ㄖ械睦^承機制有力地支持軟件的復(fù)用。程序設(shè)計基礎(chǔ)101幾個術(shù)語:對象:在現(xiàn)實世界中,每個實體都是對象,例如,大學(xué)生、汽車、電視機、空調(diào)等都是現(xiàn)實世界中的對象屬性:通常是一些數(shù)據(jù),有時它也可以是另一個對象事件:是由對象識別的一個動作,用戶可以編寫相應(yīng)代碼對此動作進行響應(yīng)方法:對象中的屬性只能通過該對象所提供的操作來存取或修改程序設(shè)計基礎(chǔ)102類:類是一組具有相同屬性和相同操作的對象的集合。基類:用來生成新類的類。派生類:由已存在的類派生出來的新類,也叫子類。繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義他們。繼承分單繼承和多重繼承。單繼承指一個類只允許有一個父類,多重繼承指一個類允許有多個父類多態(tài)性是指同樣的消息被不同的對象接受時可導(dǎo)致完全不同的行動的現(xiàn)象。程序設(shè)計基礎(chǔ)103

水上交通工具陸上交通工具水陸兩用交通工具

多重繼承圖

程序設(shè)計基礎(chǔ)104四、例題講解:程序設(shè)計基礎(chǔ)結(jié)構(gòu)化程序設(shè)計的3種結(jié)構(gòu)是(D

A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)

B)分支結(jié)構(gòu)、等價結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

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

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

C)程序越短越好

D)程序結(jié)構(gòu)應(yīng)有助于讀者理解√

105程序設(shè)計基礎(chǔ)結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是(D

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

C)程序設(shè)計語言的先進性

D)程序易讀性以下不屬于對象的基本特點的是(c

A)分類性

B)多態(tài)性C)繼承性 D)封裝性106對建立良好的程序設(shè)計風(fēng)格,下面描述正確的是(A

A)程序應(yīng)簡單、清晰、可讀性好

B)符號名的命名只要符合語法

C)充分考慮程序的執(zhí)行效率

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

A)安全性 B)一致性

C)可理解性

D)合理性程序設(shè)計基礎(chǔ)√

107下列敘述中,不屬于結(jié)構(gòu)化程序設(shè)計方法的主要原則的是(B)

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

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

A)結(jié)合B)隱藏C)封裝

D)抽象

在面向?qū)ο蠓椒ㄖ校粋€對象請求另一個對象為其服務(wù)的方式是通過發(fā)送(D

)A)調(diào)用語句B)命令C)口令D)消息程序設(shè)計基礎(chǔ)√

108信息屏蔽的概念與下述哪一種概念直接相關(guān)(B

)A)軟件結(jié)構(gòu)定義B)模塊獨立性C)模塊類型劃分D)模塊偶合度下列對對象概念描述錯誤的是(A

)A)任何對象都必須有繼承性B)對象是屬性和方法的封裝體C)對象間的通訊靠消息傳遞D)操作是對象的動態(tài)屬性程序設(shè)計基礎(chǔ)√

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

【1】?!敬鸢浮繉ο?/p>

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

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

【3】。【答案】可重用性

110面向?qū)ο蟮哪P椭?,最基本的概念是對象和?】?!敬鸢浮浚侯?/p>

在面向?qū)ο蟮脑O(shè)計中,用來請求對象執(zhí)行某一處理或回答某些信息的要求稱為【5】?!敬鸢浮浚合⒃诔绦蛟O(shè)計階段應(yīng)該采取

【6】

和逐步求精的方法,把一個模塊的功能逐步分解,細(xì)化為一系列具體的步驟,進而用某種程序設(shè)計語言寫成程序?!敬鸢浮浚鹤皂斚蛳鲁绦蛟O(shè)計基礎(chǔ)111【7】

是一種信息隱蔽技術(shù),目的在于將對象的使用者和對象的設(shè)計者分開?!敬鸢浮浚悍庋b可以把具有相同屬性的一些不同對象歸類,稱為

【8】

。【答案】:對象類子程序通常分為兩類:

【9】

和函數(shù),前者是命令的抽象,后者是為了求值?!敬鸢浮浚哼^程源程序文檔化要求程序應(yīng)加注釋。注釋一般分為序言性注釋和【10】

?!敬鸢浮浚汗δ苄宰⑨屧诿嫦?qū)ο蠓椒ǚN,信息屏蔽是通過對象的【11】性來實現(xiàn)的?!敬鸢浮浚悍庋b在面向?qū)ο蠓椒ǚN,類之間共享屬性和操作的機制稱為【13】

?!敬鸢浮浚豪^承112軟件工程基礎(chǔ)(一)基本概念

軟件工程:軟件工程是指應(yīng)用計算機科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法來解決軟件問題的工程。其目的是提高軟件生產(chǎn)率、提高軟件質(zhì)量、降低軟件成本。

軟件危機:早期的軟件主要指程序,采用個體工作方式,缺少相關(guān)文檔,質(zhì)量低,維護困難,這些問題稱為“軟件危機”,軟件工程概念的出現(xiàn)源自于軟件危機。113軟件生命周期將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。分為軟件定義、軟件開發(fā)及軟件運行維護3個時期。維護是持續(xù)時間最長,花費代價最大的一個時期,軟件工程學(xué)的一個目的就是提高軟件的可維護性,降低維護代價。6個活動階段:可行性研究與計劃制定:確定系統(tǒng)的總體目標(biāo)。參加人員有用戶、項目負(fù)責(zé)人和系統(tǒng)分析員,產(chǎn)生文檔有可行性分析報告、項目計劃書等。需求分析:確定系統(tǒng)的邏輯模型。參加人員有用戶、項目負(fù)責(zé)人和系統(tǒng)分析員。產(chǎn)生文檔為需求規(guī)格說明書,其作用:(1)便于用戶、開發(fā)人員進行理解交流;(2)反映用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);(3)作為確認(rèn)測試和驗收的依據(jù)。114軟件設(shè)計:包括軟件結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計和過程設(shè)計。其中結(jié)構(gòu)設(shè)計是定義軟件系統(tǒng)各部件之間的關(guān)系;數(shù)據(jù)設(shè)計是將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義;接口設(shè)計是描述軟件內(nèi)部、軟件和操作系統(tǒng)之間及軟件與人之間如何通信;過程設(shè)計則是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程性描述。軟件設(shè)計分概要設(shè)計和詳細(xì)設(shè)計。參加人員有系統(tǒng)分析員和高級程序員。產(chǎn)生的文檔有設(shè)計規(guī)格說明書。編碼:編程。高級程序員和程序員產(chǎn)生源程序清單。測試:由另一部門的高級程序員或系統(tǒng)分析員產(chǎn)生軟件測試計劃和軟件測試報告。運行維護115

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

軟件工程的理論和技術(shù)研究的內(nèi)容軟件開發(fā)技術(shù)和軟件工程管理。

軟件工程的目標(biāo)在給定的成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。軟件工程鼓勵研制和采用各種先進的軟件開發(fā)方法、工具和環(huán)境。116軟件工具和軟件開發(fā)環(huán)境軟件工具(CASE):用來輔助軟件開發(fā)、運行、維護、管理、支持等過程中的活動的軟件。軟件開發(fā)環(huán)境:支持軟件產(chǎn)品開發(fā)的軟件系統(tǒng),它由軟件工具集和環(huán)境集成機制構(gòu)成軟件工程基礎(chǔ)117(二)結(jié)構(gòu)化分析方法

軟件工程基礎(chǔ)基本思想將系統(tǒng)分析看成工程項目,有計劃、有步驟地進行工作。開發(fā)策略自頂向下,逐層分解分析結(jié)果一套分層的數(shù)據(jù)流圖(DFD):用來描述數(shù)據(jù)流從輸入到輸出的變換流程一個數(shù)據(jù)字典(DD):用來描述DFD中的每個數(shù)據(jù)流、文件以及組成數(shù)據(jù)流或文件的數(shù)據(jù)項一組小說明(加工邏輯說明):用來描述每個基本加工的加工邏輯118(三)結(jié)構(gòu)化設(shè)計方法、總體設(shè)計和詳細(xì)設(shè)計

軟件工程基礎(chǔ)結(jié)構(gòu)化設(shè)計方法

結(jié)構(gòu)圖:

基本成分:模塊、調(diào)用、輸入輸出數(shù)據(jù)模塊用矩形表示,模塊間用線段連接,表示調(diào)用關(guān)系,輸入輸出數(shù)據(jù)可寫在調(diào)用線段的旁邊

信息流的類型

變換流事務(wù)流119總體設(shè)計設(shè)計原則分解—協(xié)調(diào)原則自頂向下的原則信息屏蔽、抽象的原則一致性原則明確性原則模塊間的耦合度盡可能小,模塊內(nèi)部組合盡可能緊湊(內(nèi)聚性高)模塊的扇入和扇出系數(shù)合理模塊的規(guī)模適當(dāng)120詳細(xì)設(shè)計根本目標(biāo):

確定應(yīng)用怎樣具體的實現(xiàn)所要求的系統(tǒng),不是具體的編寫程序,而是要設(shè)計程序的“藍(lán)圖”自頂向下的原則。此階段的結(jié)果基本上決定了最終的程序代碼的質(zhì)量。包括內(nèi)容:代碼設(shè)計輸入設(shè)計輸出設(shè)計處理過程設(shè)計用戶界面設(shè)計安全控制設(shè)計121(四)軟件測試

軟件工程基礎(chǔ)

意義目的為了發(fā)現(xiàn)錯誤;希望能以最少的人力和時間發(fā)現(xiàn)潛在的各種錯誤和缺陷;保證系統(tǒng)質(zhì)量和可靠性的關(guān)鍵步驟。

測試方法人工測試;機器測試。提問:測試能否發(fā)現(xiàn)程序中的所有錯誤?答案:不能。122

白盒測試結(jié)構(gòu)測試將軟件看成透明的白盒,根據(jù)程序的內(nèi)部結(jié)構(gòu)和邏輯結(jié)構(gòu)來設(shè)計測試?yán)?,對程序的路徑和過程進行測試,檢查是否滿足設(shè)計的要求

黑盒測試功能測試將軟件看成黑盒子,在完全不考慮軟件內(nèi)部結(jié)構(gòu)和特性的情況下,測試軟件的外部特性

軟件測試的實施單元測試(模塊測試):白盒測試法組裝測試(集成測試)確認(rèn)測試:檢查軟件產(chǎn)品是否符合需求定義,黑盒測試法系統(tǒng)測試123適合于黑盒測試的測試方案:等價類劃分、邊界值分析法和錯誤推測法三種。適合于白盒測試的測試方案:主要有邏輯覆蓋法。邏輯覆蓋法包括:語句覆蓋、判定覆蓋(也稱為分支覆蓋)、條件覆蓋、判定/條件覆蓋、條件組合覆蓋。軟件工程基礎(chǔ)124(五)程序調(diào)試

軟件工程基礎(chǔ)

任務(wù)根據(jù)測試時發(fā)現(xiàn)的錯誤,找出原因和具體的位置,進行改正由程序開發(fā)人員來進行,誰開發(fā)的程序就由誰來進行調(diào)試方法:

強行排錯法

回溯法

原因排除法(演繹、歸納、二分法)125

靜態(tài)調(diào)試通過人的思維來分析源程序代碼和排錯,是主要的調(diào)試手段。動態(tài)調(diào)試輔助靜態(tài)調(diào)試。軟件工程基礎(chǔ)126(六)例題講解

為了提高測試的效率,應(yīng)該(D

A)隨機選取測試數(shù)據(jù)

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

C)在完成編碼以后制定軟件的測試計劃

D)選擇發(fā)現(xiàn)錯誤可能性大的數(shù)據(jù)作為測試數(shù)據(jù)軟件生命周期中所花費用最多的階段是(D

A)詳細(xì)設(shè)計 B)軟件編碼C)軟件測試D)軟件維護軟件工程基礎(chǔ)√

127下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是(D

)

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

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

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

D)便于開發(fā)人員進行需求分析下列不屬于軟件工程的3個要素的是(D

)A)工具 B)過程C)方法D)環(huán)境軟件設(shè)計包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計,其中軟件的過程設(shè)計是指(B

A)模塊間的關(guān)系

B)系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述

C)軟件層次結(jié)構(gòu) D)軟件開發(fā)過程√

128開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱作(B

)

A)軟件投機B)軟件危機

C)軟件工程D)軟件產(chǎn)生129下面不屬于軟件設(shè)計原則的是(C)A)抽象 B)模塊化

C)自底向上D)信息隱蔽開發(fā)大型軟件時,產(chǎn)生困難的根本原因是(A

)

A)大系統(tǒng)的復(fù)雜性

B)人員知識不足

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

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

C)軟件危機的出現(xiàn) D)計算機的發(fā)展√

130軟件開發(fā)離不開系統(tǒng)環(huán)境資源的支持,其中必要的測試數(shù)據(jù)屬于(D

A)硬件資源 B)通信資源

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

)

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

C)控制程序的執(zhí)行順序D)數(shù)據(jù)的流向下列不屬于結(jié)構(gòu)化分析的常用工具的是(D

A)數(shù)據(jù)流圖 B)數(shù)據(jù)字典

C)判定樹 D)PAD圖

131下列工具不是需求分析常用工具的是(D

)A)PAD B)PFDC)N-S D)DFD

模塊獨立性是軟件模塊化所提出的要求,衡量模塊獨立性的度量標(biāo)準(zhǔn)則是模塊的(C

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

C)內(nèi)聚性和耦合性

D)激活機制和控制方法軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A)

A)定義、開發(fā)、運行維護

B)設(shè)計階段、編程階段、測試階段

C)總體設(shè)計、詳細(xì)設(shè)計、編程調(diào)試

D)需求分析、功能定義、系統(tǒng)設(shè)計√

132在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是(A

A)路徑的集合

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

A)黑箱測試法

B)白箱測試法

C)錯誤推測法D)安裝測試法在結(jié)構(gòu)化設(shè)計方法中,生成的結(jié)構(gòu)圖(SC)中,帶有箭頭的連線表示(A

A)模塊之間的調(diào)用關(guān)系

B)程序的組成成分

C)控制程序的執(zhí)行順序 D)數(shù)據(jù)的流向√

133為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為(B

A)PAD圖B)N-S圖

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

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

C)軟件應(yīng)包括程序清單及運行結(jié)果

D)軟件包括程序和文檔軟件設(shè)計中,有利于提高模塊獨立性的一個準(zhǔn)則是(

C

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

C)高內(nèi)聚低耦合

D)高內(nèi)聚高耦合134程序流程圖(PFD)中的箭頭代表的是(B

)A)數(shù)據(jù)流B)控制流

C)調(diào)用關(guān)系D)組成關(guān)系在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是(C

)A)詳細(xì)設(shè)計B)需求分析C)總體設(shè)計

D)編程調(diào)試軟件調(diào)試的目的是(B

)A)發(fā)現(xiàn)錯誤B)改正錯誤C)改善軟件的性能D)挖掘軟件的潛能√

135軟件需求分析階段的工作,可以分為四個方面:需求獲取,需求分析,編寫需求規(guī)格說明書,以及(B

)A)階段性報告B)需求評審C)總結(jié)D)都不正確通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為【1】。【答案】:軟件生命周期耦合和內(nèi)聚是評價模塊獨立性的兩個主要標(biāo)準(zhǔn),其中

【2】

反映了模塊內(nèi)各成分之間的聯(lián)系。

【答案】:內(nèi)聚軟件工程研究的內(nèi)容主要包括:【3】技術(shù)和軟件工程管理。【答案】:軟件開發(fā)√

136Jackson結(jié)構(gòu)化程序設(shè)計方法是英國的M.Jackson提出的,它是一種面向【4】的設(shè)計方法?!敬鸢浮浚簲?shù)據(jù)結(jié)構(gòu)軟件設(shè)計模塊化的目的是

【5】

?!敬鸢浮浚簝?nèi)聚降低復(fù)雜性數(shù)據(jù)流圖的類型有【6】和事務(wù)型?!敬鸢浮浚鹤儞Q型軟件危機出現(xiàn)于60年代末,為了解決軟件危機,人們提出了【7】的原理來設(shè)計軟件,這就是軟件工程誕生的基礎(chǔ)?!敬鸢浮浚很浖こ虒W(xué)軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的【8】集合?!敬鸢浮浚很浖ぞ哕浖こ袒A(chǔ)137測試的目的是暴露錯誤,評價程序的可靠性;而【9】的目的是發(fā)現(xiàn)錯誤的位置并改正錯誤?!敬鸢浮浚很浖{(diào)試軟件維護活動包括以下幾類:改正性維護、適應(yīng)性維護、

【10】維護和預(yù)防性維護?!敬鸢浮浚和晟菩攒浖Y(jié)構(gòu)是以【11】為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。【答案】:模塊為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的

【12】

兩部分組成。【答案】:輸出結(jié)果軟件工程包括3個要素,分別為方法、工具和【13】。

【答案】:過程軟件工程的出現(xiàn)是由于【14】?!敬鸢浮浚很浖C的出現(xiàn)138單元測試又稱模塊測試,一般采用

【15】

測試?!敬鸢浮浚喊缀袆討B(tài)軟件的【16】設(shè)計又稱為總體結(jié)構(gòu)設(shè)計,其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)?!敬鸢浮浚焊乓浖浅绦?、數(shù)據(jù)和【17】的集合?!敬鸢浮浚何臋n對軟件是否能達(dá)到用戶所期望的要求的測試稱為

【18】?!敬鸢浮浚河行詼y試質(zhì)量保證策略大致分為三個階段:以檢測為重、

【19】和以新產(chǎn)品開發(fā)為重。

【答案】:以過程管理為重139數(shù)據(jù)庫設(shè)計基礎(chǔ)(一)基本概念

數(shù)據(jù)(Data)實際上就是描述事物的符號記錄軟件中的數(shù)據(jù)一定是有結(jié)構(gòu)的數(shù)據(jù)庫(DB:Database)長期存儲在計算機內(nèi)的,有組織的,可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)學(xué)模型組織、描述和存儲,具有較小的冗余度,較高的數(shù)據(jù)獨立性和易擴展性,并可為各種用戶共享。140數(shù)據(jù)庫管理系統(tǒng)(DBMS)---DatabaseManagementSystem數(shù)據(jù)庫系統(tǒng)的核心軟件;要在操作系統(tǒng)支持下工作;解決如何科學(xué)地組織和存儲數(shù)據(jù),如何高效的獲取和維護數(shù)據(jù)的系統(tǒng)軟件。主要功能包括:數(shù)據(jù)模式定義;數(shù)據(jù)存取的物理構(gòu)建;數(shù)據(jù)操縱;數(shù)據(jù)的完整性、安全性定義與檢查;數(shù)據(jù)庫的并發(fā)控制與故障恢復(fù);數(shù)據(jù)的服務(wù)。141為完成上述功能,DBMS一般提供相應(yīng)的數(shù)據(jù)語言:數(shù)據(jù)定義語言(DDL):DataDefinitionLanguage數(shù)據(jù)操縱語言(DML):DataManipulationLanguage數(shù)據(jù)控制語言(DCL):DataControlLanguage數(shù)據(jù)語言按其使用方式具有兩種結(jié)構(gòu)形式交互式命令語言宿主型語言數(shù)據(jù)庫管理員主要工作包括:數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫維護改善系統(tǒng)性能,提高系統(tǒng)效率

DDL:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。

DML:負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增加、刪、改變等操作。

DCL:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等。142數(shù)據(jù)庫系統(tǒng)(DBS)由數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺之硬件平臺(硬件)和軟件平臺(軟件)構(gòu)成。數(shù)據(jù)庫應(yīng)用系統(tǒng)(DBAS)利用數(shù)據(jù)庫系統(tǒng)進行應(yīng)用開發(fā)數(shù)據(jù)庫管理技術(shù)的發(fā)展人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)接

結(jié)論:數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)的關(guān)系是:數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。143數(shù)據(jù)庫設(shè)計基礎(chǔ)在數(shù)據(jù)庫管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)。文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具有特定的數(shù)據(jù)模型。相對于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)的主要缺陷有:數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和冗余性。144

數(shù)據(jù)庫系統(tǒng)的基本特點:數(shù)據(jù)的集成性;采用統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)方式按照多個應(yīng)用的需要組主全局的統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)模式是多個應(yīng)用共同的、全局的數(shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)的高共享性與低冗余性;

數(shù)據(jù)獨立性(數(shù)據(jù)與程序間的互不依賴性);

物理獨立性和邏輯獨立性

數(shù)據(jù)統(tǒng)一管理與控制。數(shù)據(jù)的完整性檢查數(shù)據(jù)的安全性檢查并發(fā)控制145

數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)體系

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

內(nèi)模式處于最底層,它反映了數(shù)據(jù)在計算機物理結(jié)構(gòu)中的實際存儲形

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論