公共基礎(chǔ)知識(shí)點(diǎn)絕對經(jīng)典所以財(cái)富值多點(diǎn)但一定物超所值_第1頁
公共基礎(chǔ)知識(shí)點(diǎn)絕對經(jīng)典所以財(cái)富值多點(diǎn)但一定物超所值_第2頁
公共基礎(chǔ)知識(shí)點(diǎn)絕對經(jīng)典所以財(cái)富值多點(diǎn)但一定物超所值_第3頁
公共基礎(chǔ)知識(shí)點(diǎn)絕對經(jīng)典所以財(cái)富值多點(diǎn)但一定物超所值_第4頁
公共基礎(chǔ)知識(shí)點(diǎn)絕對經(jīng)典所以財(cái)富值多點(diǎn)但一定物超所值_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第一部分 算法與數(shù)據(jù)結(jié)構(gòu) (歷年比例41%)1、算法 問題處理方案的正確而完整的描述稱為【算法】。算法分析的目的是,分析算法的效率以求改進(jìn)。算法的基本特征是【可行性】、【確定性】、【有窮性】和擁有足夠情報(bào)。 算法的有窮性是指:算法程序的運(yùn)行時(shí)間是有限的。 算法的復(fù)雜度是衡量算法好壞的度量,分為【時(shí)間復(fù)雜度】和【空間復(fù)雜度】。 時(shí)間復(fù)雜度是指執(zhí)行算法所需要的【計(jì)算工作量】;算法的空間復(fù)雜度是指算法執(zhí)行過程中所需的【存儲(chǔ)空間】。 算法時(shí)間復(fù)雜度或空間復(fù)雜度中的一項(xiàng)的值,沒有辦法推出另一項(xiàng)的值。2、數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)分為【邏輯結(jié)構(gòu)】和【存儲(chǔ)結(jié)構(gòu)】。線性結(jié)構(gòu)和非線性結(jié)構(gòu)屬于邏輯結(jié)構(gòu);順序、鏈?zhǔn)健⑺饕龑?/p>

2、于存儲(chǔ)結(jié)構(gòu)(物理結(jié)構(gòu))。循環(huán)隊(duì)列屬于【存儲(chǔ)結(jié)構(gòu)】。 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)又稱為物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式。 一個(gè)邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率。程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)。 數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于【線性結(jié)構(gòu)】。 線性表的存儲(chǔ)結(jié)構(gòu)主要分為順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)的存儲(chǔ)空間不一定是連續(xù)的。 有序線性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。 隊(duì)列是一種特殊的線性表,循環(huán)隊(duì)列按照【先進(jìn)先出】原則組織數(shù)據(jù)。循環(huán)隊(duì)列是隊(duì)列的【順序】存儲(chǔ)結(jié)構(gòu)。 數(shù)據(jù)的獨(dú)立性分為【物

3、理獨(dú)立】性和【邏輯獨(dú)立性】。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序可以不用修改,稱為【物理獨(dú)立性】。3、棧和隊(duì)列 棧是一種特殊的線性表,是只能在一端進(jìn)行插入和刪除的線性表,特點(diǎn)是FILO(First In Last Out)。 棧是【先進(jìn)后出】的線性表;棧具有記憶作用;對棧的插入與刪除操作中,不需要改變【棧底指針】。假定讓元素1、2、3、A、B依次入棧,則出棧的順序是:B、A、3、2、1。 棧與隊(duì)列都是線性結(jié)構(gòu),樹是非線性結(jié)構(gòu)。支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是【棧】。 棧與隊(duì)列的共同點(diǎn)是,都只允許在【端點(diǎn)處】插入和刪除元素。 棧只能順序存儲(chǔ)的描述是錯(cuò)誤的。??梢杂小?/p>

4、順序和鏈?zhǔn)健績煞N存儲(chǔ)方式。 隊(duì)列是允許在一段插入,在另一端進(jìn)行刪除的線性表,其特點(diǎn)是【先進(jìn)先出】。 循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭指針和隊(duì)尾指針共同決定。循環(huán)隊(duì)列的頭指針為front,尾指針為rear,容量為maxSize,則循環(huán)隊(duì)列中元素的個(gè)數(shù)是【 (rear-front+maxSize) mod maxSize】。4、線性鏈表 線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。用鏈表表示線性表的優(yōu)點(diǎn)是【便于插入和刪除操作】。 線性鏈表的存儲(chǔ)空間不一定連續(xù),且個(gè)元素的存儲(chǔ)順序是任意的。5、樹與二叉樹 在樹結(jié)構(gòu)中,一個(gè)結(jié)點(diǎn)所擁有的后件(繼)的個(gè)數(shù)稱為該結(jié)點(diǎn)的度,所有結(jié)點(diǎn)中最大的度稱為樹的度。二叉樹各結(jié)點(diǎn)的度只可能

5、取值0、1、2,不可能是其它值。換言之,知道了度為1結(jié)點(diǎn)數(shù)量的前提下,葉子結(jié)點(diǎn)或度為2的結(jié)點(diǎn)中知道其一,就可以求出總的結(jié)點(diǎn)數(shù)。下面關(guān)于計(jì)算結(jié)點(diǎn)數(shù)量的幾個(gè)性質(zhì),非常重要:(1)對任意的二叉樹,葉子結(jié)點(diǎn)的數(shù)量,比度為2的結(jié)點(diǎn)數(shù)量多一個(gè)(換言之,已知葉子結(jié)點(diǎn)的數(shù)量,減去1則是度為2的結(jié)點(diǎn)數(shù)量;已知度為2的結(jié)點(diǎn)數(shù)量,加上1就是葉子結(jié)點(diǎn)數(shù)量)(2)完全二叉樹如果有N個(gè)結(jié)點(diǎn),當(dāng)N為奇數(shù)的時(shí)候,葉子結(jié)點(diǎn)數(shù)為(N+1)/2,此時(shí)二叉樹只有度為0的葉子結(jié)點(diǎn)及度為2的結(jié)點(diǎn),沒有度為1的結(jié)點(diǎn);當(dāng)N為偶數(shù)的時(shí)候,葉子結(jié)點(diǎn)的數(shù)量為N/2。(注意條件,必須是完全二叉樹,當(dāng)然包括滿二叉樹)(3)滿二叉樹第K層上的結(jié)點(diǎn)數(shù)量為

6、2K-1;深度為K的滿二叉樹,結(jié)點(diǎn)總數(shù)為2K-1。上述的計(jì)算公式,關(guān)鍵要能夠應(yīng)用,例如,深度為7的滿二叉樹,度為2的結(jié)點(diǎn)數(shù)量是多少?既然是滿二叉樹,葉子結(jié)點(diǎn)的數(shù)量就是第7層的結(jié)點(diǎn)數(shù)量,也就是26,可以算出葉子結(jié)點(diǎn)為64,因此度為2的結(jié)點(diǎn)數(shù)是63(葉子結(jié)點(diǎn)數(shù)減去1)。 二叉樹的前序遍歷、中序遍歷、后續(xù)遍歷:前中后三個(gè)詞是相對于根來講的,前序是【根-左-右】,中序是【左-根-右】,后續(xù)是【左-右-根】。具體操作為:先序遍歷(D L R): 訪問根結(jié)點(diǎn),按先序遍歷左子樹,按先序遍歷右子樹。中序遍歷(L D R): 按中序遍歷左子樹,訪問根結(jié)點(diǎn),按中序遍歷右子樹。后序遍歷(L R D): 按后序遍歷左

7、子樹,按后序遍歷右子樹,訪問根結(jié)點(diǎn)。下面以中序遍歷為例,來講解實(shí)際的解題方法:對一棵樹,將根結(jié)點(diǎn)下的左子樹用一個(gè)橢圓圈起來,右子樹也用一個(gè)橢圓圈起來。之后,在左子樹上標(biāo)記上1,在根結(jié)點(diǎn)標(biāo)記上2,在右子樹上標(biāo)記上3。對在左邊橢圓內(nèi)的左子樹,現(xiàn)在把它單獨(dú)拿出來分析。把它的左子樹圈起來標(biāo)上1.1,根結(jié)點(diǎn)標(biāo)記上1.2,右子樹標(biāo)上1.3。按照上述方法依次往下,直到樹不能拆分,然后按照“左-根-右”的順序?qū)懗鼋Y(jié)點(diǎn)的訪問先后即可。6、查找技術(shù) 對于長度為n的線性表,順序查找最壞情況下需要比較n次。(對數(shù)據(jù)是否有序沒有要求)。 順序查找最好情況下查詢次數(shù)是1,最壞情況下是n,平均為(1+n)/2。 對于長度為

8、n的有序線性表,二分法最壞情況下只需要比較log2n次。(數(shù)據(jù)必須有序) 能用二分法進(jìn)行查找的是【順序存儲(chǔ)的有序線性表】。7、排序技術(shù) 對于長度為n的線性表,【冒泡排序、快速排序、簡單插入排序、簡單選擇排序】這四種排序方式在最壞情況下的比較次數(shù)相同,都是【n(n-1)/2】。堆排序的效率最高,是【nlog2n】。 希爾排序最壞情況下需要次比較【n1.5】。希爾排序?qū)儆凇静迦腩惻判蚍ā俊?已知數(shù)據(jù)表A中每個(gè)元素距最終位置不遠(yuǎn),為節(jié)省時(shí)間,應(yīng)該采用的算法是【直接插入排序】。選擇排序、插入排序、快速排序、歸并排序中對內(nèi)存要求最大的是【歸并排序】。第二部分 軟件工程基礎(chǔ) (歷年比例27%)1、軟件工程

9、基本概念 軟件是包括【程序】、【數(shù)據(jù)】及【相關(guān)文檔】的完整集合,軟件是一種邏輯產(chǎn)品。軟件工程三要素包括【方法、工具和過程】,其中【過程】支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制和管理。 軟件工程的核心思想:把軟件產(chǎn)品當(dāng)作是一個(gè)工程產(chǎn)品來處理,強(qiáng)調(diào)在軟件開發(fā)過程中應(yīng)用【工程化】原則。 從工程管理角度,軟件設(shè)計(jì)一般分為兩步完成,它們是【概要設(shè)計(jì)】和【詳細(xì)設(shè)計(jì)】。 軟件生命周期可分為多個(gè)階段,一般分為【定義】階段、【開發(fā)】階段和【維護(hù)】階段,編碼和測試屬于【開發(fā)階段】。 需求分析階段產(chǎn)生的主要文檔是【軟件需求規(guī)格說明書】。軟件需求的規(guī)格說明書應(yīng)該有完整性、無歧義性、正確性、可驗(yàn)證性、可修改性等特征,其中最重要的

10、是【正確性】。2、結(jié)構(gòu)化分析與設(shè)計(jì) 需求分析的分發(fā)有:【結(jié)構(gòu)化】需求分析方法,【面向?qū)ο蟆康姆治龇椒?。DFD是【需求分析階段】可以使用的工具之一。 結(jié)構(gòu)化分析的常用工具:數(shù)據(jù)流圖(DFD);數(shù)據(jù)字典;判定樹;判定表。 在結(jié)構(gòu)化分析使用數(shù)據(jù)流圖(DFD)時(shí)候,利用【數(shù)據(jù)字典】對其中的圖形元素進(jìn)行確切的解釋。【數(shù)據(jù)字典】是結(jié)構(gòu)化分析的核心。 典型的數(shù)據(jù)流類型有兩種,【交換性】和【事務(wù)型】。 常見的過程設(shè)計(jì)工具有:圖形工具(程序流程圖、N-S,PAD,HIPO)、表格工具(判定表)、語言工具(PDL偽碼)。 內(nèi)聚性是模塊內(nèi)部的聯(lián)系,耦合性模塊之間的相互聯(lián)系的緊密程度。 追求目標(biāo)是:模塊的內(nèi)聚程度要高

11、,模塊間的耦合程度要盡量弱。即高內(nèi)聚低耦合。 程序流程圖中帶有箭頭的線段表示的是【控制流】?!酒叫兴倪呅巍看磔斎胼敵?,【矩形】代表處理,菱形代表【判斷】(注意,數(shù)據(jù)流圖中的箭頭,代表【數(shù)據(jù)流】)。 符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是:【順序結(jié)構(gòu)】,【選擇結(jié)構(gòu)】和【循環(huán)結(jié)構(gòu)】。3、軟件測試與維護(hù) 軟件測試的目的是盡可能多的發(fā)現(xiàn)程序中的錯(cuò)誤,但是不包括改正錯(cuò)誤。(軟件調(diào)試的目的才是改正錯(cuò)誤) 軟件測試分為靜態(tài)測試和動(dòng)態(tài)測試,其中【靜態(tài)測試】是指不執(zhí)行程序,只對程序文本進(jìn)行檢查。軟件的動(dòng)態(tài)測試主要包括【黑盒測試】和【白盒測試】。 黑盒測試的方法有等價(jià)類劃分法,邊界值分析法,錯(cuò)誤推測法,因果圖;白盒

12、測試主要方法有邏輯覆蓋、基本路徑測試。(考試時(shí)給出一種方法的名字,你要知道屬于白盒還是黑盒)【白盒測試】的原則之一是保證所測模塊的每一個(gè)獨(dú)立路徑至少要執(zhí)行一次。白盒測試將程序看做是【路徑的集合】。 軟件測試一般按照四個(gè)步驟進(jìn)行:單元測試,集成測試,驗(yàn)收測試和系統(tǒng)測試。集成測試應(yīng)該在【單元測試】之后進(jìn)行。 在模塊測試中,需要為每個(gè)被測試的模塊設(shè)計(jì)【驅(qū)動(dòng)模塊】和【承接模塊】。其中,驅(qū)動(dòng)模塊的作用是將測試的數(shù)據(jù)傳給被測試的模塊,并顯示結(jié)果。 【測試用例】是為某個(gè)目標(biāo)而編制的一組測試輸入、執(zhí)行條件及預(yù)期結(jié)果。測試用例包括輸入值集和【輸出值集】。 診斷和改正程序中的錯(cuò)誤稱為【程序調(diào)試】(或軟件調(diào)試),通

13、常也稱為Debug。軟件調(diào)試可分為【靜態(tài)調(diào)試】和【動(dòng)態(tài)調(diào)試】。 在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過程稱為【軟件維護(hù)】。注意軟件維護(hù)不屬于軟件生命周期【開發(fā)階段】的任務(wù)。第三部分 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) (歷年比例24%)1、數(shù)據(jù)庫系統(tǒng)基本概念 數(shù)據(jù)庫設(shè)計(jì)的根本目標(biāo)是要解決【數(shù)據(jù)共享問題】。在數(shù)據(jù)庫管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是【數(shù)據(jù)庫系統(tǒng)階段】。數(shù)據(jù)獨(dú)立性最高的階段是【數(shù)據(jù)庫系統(tǒng)階段】。 數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的區(qū)別是前者具有【特定的數(shù)據(jù)模型】。 數(shù)據(jù)庫系統(tǒng)常見的數(shù)據(jù)模型有層次模型,網(wǎng)絡(luò)模型和【關(guān)系模型】。 數(shù)據(jù)庫系統(tǒng)的核心是【數(shù)據(jù)庫管理系統(tǒng)】。 DBS包括DB

14、和DBMS。完整講,數(shù)據(jù)庫系統(tǒng)DBS由數(shù)據(jù)庫DB、數(shù)據(jù)庫管理系統(tǒng)DBMS、數(shù)據(jù)庫管理員DBA、硬件平臺(tái)和軟件平臺(tái)組成。 數(shù)據(jù)庫應(yīng)用系統(tǒng)的核心是【數(shù)據(jù)庫維護(hù)】。 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu):內(nèi)模式處于最底層,它反映了數(shù)據(jù)在計(jì)算機(jī)物理結(jié)構(gòu)中的實(shí)際存儲(chǔ)形式;概念模式處于中層,它放映了設(shè)計(jì)者的數(shù)據(jù)全局邏輯要求,與軟硬件環(huán)境無關(guān);外模式處于最外層,它反映了用戶對數(shù)據(jù)的要求。 在數(shù)據(jù)庫系統(tǒng)中,用戶所見的數(shù)據(jù)模式為【外模式】。 數(shù)據(jù)庫設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、【邏輯設(shè)計(jì)】和【物理設(shè)計(jì)】。將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型屬于【邏輯設(shè)計(jì)】階段。 數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言:數(shù)據(jù)定義語言DDL,數(shù)據(jù)操縱語

15、言DML,數(shù)據(jù)控制語言DCL。SQL的全稱是Structured Query Language,中文意思是【結(jié)構(gòu)化查詢語言】。2、數(shù)據(jù)模型 實(shí)體之間的聯(lián)系用樹形結(jié)構(gòu)來表示的模型是【層次模型】。采用二維表來表示的是【關(guān)系模型】。在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為【關(guān)系】。 在關(guān)系數(shù)據(jù)庫中,用來表示實(shí)體之間聯(lián)系的是【關(guān)系】。 將E-R圖轉(zhuǎn)化為關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示為【關(guān)系】。 確定兩個(gè)實(shí)體之間是一對一、一對多、還是多對多的方法是:選擇實(shí)體A,看是否有多個(gè)實(shí)體B與之對應(yīng);選擇實(shí)體B,看是否有多個(gè)實(shí)體A與之對應(yīng)。例如在“學(xué)生學(xué)習(xí)課程”中的兩個(gè)實(shí)體,學(xué)生與課程,一個(gè)學(xué)生可以學(xué)

16、習(xí)多門課程,一門課程可以被多個(gè)學(xué)生學(xué)習(xí),所以二者是一種多對多的關(guān)系。 在E-R 圖中,用來表示實(shí)體的圖形是【矩形】。用來表示【屬性】的圖形是橢圓。用菱形來表示聯(lián)系。 一個(gè)關(guān)系表的行稱為【元組】(或記錄),列稱為【屬性】(或字段)。 在二維表中,元組的【分量】不能再分為更小的數(shù)據(jù)線。 為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的【邏輯關(guān)系】。3、關(guān)系代數(shù) 在交、差、投影中,不改變關(guān)系表中的屬性個(gè)數(shù)但是能減少元組個(gè)數(shù)的是【交】運(yùn)算。 關(guān)系運(yùn)算的規(guī)則(下面介紹的7種運(yùn)算,考試的時(shí)候一般會(huì)考察一種,都要背)(1)并運(yùn)算RS:并運(yùn)算是兩個(gè)表行上的合并,重復(fù)的行只出現(xiàn)一次。(2)交運(yùn)算RS:交運(yùn)算是選出兩個(gè)表中的公

17、共行。(3)差運(yùn)算R-S:差運(yùn)算是從表R中,刪除R與S中都出現(xiàn)過的行。(4)選擇運(yùn)算:選出二維表【部分的行】稱為選擇運(yùn)算。(5)投影運(yùn)算:選出二維表【部分的列】稱為投影運(yùn)算。(6)連接運(yùn)算:根據(jù)兩個(gè)表的共同屬性的值,將它們連接起來,無需去除共同屬性。如果去掉了重復(fù)屬性,就稱為自然連接。(7)笛卡爾乘積:將關(guān)系R中的每一行依次與關(guān)系S中的每一行進(jìn)行排列組合。注意:除了選擇運(yùn)算和投影運(yùn)算操作的是單個(gè)表之外,其余的元算都需要兩個(gè)表(兩個(gè)關(guān)系)。其中,并運(yùn)算、交運(yùn)算和差運(yùn)算要求兩個(gè)關(guān)系R與S要具有相同個(gè)數(shù)的屬性。第四部分 程序設(shè)計(jì)基礎(chǔ) (歷年比例8%) 程序設(shè)計(jì)總體原則:清晰第一、效率第二。 良好程序風(fēng)格包括:源程序要文檔化

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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

提交評論