二級C 公共基礎考試考點

2022-11-20 05:39:05 字數 4766 閱讀 8867

★★ 棧是一種特殊的線性表,是只能在一端進行插入和刪除的線性表,特點是filo(first in last out)。

★★ 棧是【先進後出】的線性表;棧具有記憶作用;對棧的插入與刪除操作中,不需要改變【棧底指標】。假定讓元素1、2、3、a、b依次入棧,則出棧的順序是:b、a、3、2、1。

◆ 棧與佇列都是線性結構,樹是非線性結構。支援子程式呼叫的資料結構是【棧】。

◆ 棧與佇列的共同點是,都只允許在【端點處】插入和刪除元素。

◆ 棧只能順序儲存的描述是錯誤的。棧可以有【順序和鏈式】兩種儲存方式。

★★ 佇列是允許在一段插入,在另一端進行刪除的線性表,其特點是【先進先出】。

◆ 迴圈佇列中元素的個數是由隊頭指標和隊尾指標共同決定。迴圈佇列的頭指標為front,尾指標為rear,容量為maxsize,則迴圈佇列中元素的個數是【 (rear-front+maxsize) mod maxsize】。

4、線性鍊錶

◆ 線性鍊錶是線性表的鏈式儲存結構。用鍊錶表示線性表的優點是【便於插入和刪除操作】。

◆ 線性鍊錶的儲存空間不一定連續,且個元素的儲存順序是任意的。

5、樹與二叉樹

◆ 在樹結構中,乙個結點所擁有的後件(繼)的個數稱為該結點的度,所有結點中最大的度稱為樹的度。二叉樹各結點的度只可能取值0、1、2,不可能是其它值。換言之,知道了度為1結點數量的前提下,葉子結點或度為2的結點中知道其一,就可以求出總的結點數。

★★★下面關於計算結點數量的幾個性質,非常重要:

(1)對任意的二叉樹,葉子結點的數量,比度為2的結點數量多乙個(換言之,已知葉子結點的數量,減去1則是度為2的結點數量;已知度為2的結點數量,加上1就是葉子結點數量)

(2)完全二叉樹如果有n個結點,當n為奇數的時候,葉子結點數為(n+1)/2,此時二叉樹只有度為0的葉子結點及度為2的結點,沒有度為1的結點;當n為偶數的時候,葉子結點的數量為n/2。(注意條件,必須是完全二叉樹,當然包括滿二叉樹)

(3)滿二叉樹第k層上的結點數量為2k-1;深度為k的滿二叉樹,結點總數為2k-1。

上述的計算公式,關鍵要能夠應用,例如,深度為7的滿二叉樹,度為2的結點數量是多少?既然是滿二叉樹,葉子結點的數量就是第7層的結點數量,也就是26,可以算出葉子結點為64,因此度為2的結點數是63(葉子結點數減去1)。

★★★ 二叉樹的前序遍歷、中序遍歷、後續遍歷:前中後三個詞是相對於根來講的,前序是【根-->左-->右】,中序是【左-->根-->右】,後續是【左-->右-->根】。具體操作為:

先序遍歷(d l r): 訪問根結點,按先序遍歷左子樹,按先序遍歷右子樹。

中序遍歷(l d r): 按中序遍歷左子樹,訪問根結點,按中序遍歷右子樹。

後序遍歷(l r d): 按後序遍歷左子樹,按後序遍歷右子樹,訪問根結點。

下面以中序遍歷為例,來講解實際的解題方法:對一棵樹,將根結點下的左子樹用乙個橢圓圈起來,右子樹也用乙個橢圓圈起來。之後,在左子樹上標記上1,在根結點標記上2,在右子樹上標記上3。

對在左邊橢圓內的左子樹,現在把它單獨拿出來分析。把它的左子樹圈起來標上1.1,根結點標記上1.

2,右子樹標上1.3。按照上述方法依次往下,直到樹不能拆分,然後按照「左-->根--->右」的順序寫出結點的訪問先後即可。

6、查詢技術

◆ 對於長度為n的線性表,順序查詢最壞情況下需要比較n次。(對資料是否有序沒有要求)。◆ 順序查詢最好情況下查詢次數是1,最壞情況下是n,平均為(1+n)/2。

★★ 對於長度為n的有序線性表,二分法最壞情況下只需要比較log2n次。(資料必須有序)

◆ 能用二分法進行查詢的是【順序儲存的有序線性表】。

7、排序技術

★★ 對於長度為n的線性表,【氣泡排序、快速排序、簡單插入排序、簡單選擇排序】這四種排序方式在最壞情況下的比較次數相同,都是【n(n-1)/2】。堆排序的效率最高,是【nlog2n】。★★ 希爾排序最壞情況下需要次比較【n1.

5】。希爾排序屬於【插入類排序法】。

◆ 已知資料表a中每個元素距最終位置不遠,為節省時間,應該採用的演算法是【直接插入排序】。選擇排序、插入排序、快速排序、歸併排序中對記憶體要求最大的是【歸併排序】。

第二部分軟體工程基礎 (歷年比例27%)

1、軟體工程基本概念

★★ 軟體是包括【程式】、【資料】及【相關文件】的完整集合,軟體是一種邏輯產品。軟體工程三要素包括【方法、工具和過程】,其中【過程】支援軟體開發的各個環節的控制和管理。

◆ 軟體工程的核心思想:把軟體產品當作是乙個工程產品來處理,強調在軟體開發過程中應用【工程化】原則。

◆ 從工程管理角度,軟體設計一般分為兩步完成,它們是【概要設計】和【詳細設計】。

★★ 軟體生命週期可分為多個階段,一般分為【定義】階段、【開發】階段和【維護】階段,編碼和測試屬於【開發階段】。

◆ 需求分析階段產生的主要文件是【軟體需求規格說明書】。軟體需求的規格說明書應該有完整性、無歧義性、正確性、可驗證性、可修改性等特徵,其中最重要的是【正確性】。

2、結構化分析與設計

★★ 需求分析的分發有:【結構化】需求分析方法,【物件導向】的分析方法。dfd是【需求分析階段】可以使用的工具之一。

◆ 結構化分析的常用工具:資料流圖(dfd);資料字典;判定樹;判定表。

◆ 在結構化分析使用資料流圖(dfd)時候,利用【資料字典】對其中的圖形元素進行確切的解釋。【資料字典】是結構化分析的核心。

◆ 典型的資料流型別有兩種,【交換性】和【事務型】。

◆ 常見的過程設計工具有:圖形工具(程式流程圖、n-s,pad,hipo)、**工具(判定表)、語言工具(pdl偽碼)。

◆ 內聚性是模組內部的聯絡,耦合性模組之間的相互聯絡的緊密程度。

★★★ 追求目標是:模組的內聚程度要高,模組間的耦合程度要盡量弱。即高內聚低耦合。

★★ 程式流程圖中帶有箭頭的線段表示的是【控制流】。【平行四邊形】代表輸入輸出,【矩形】代表處理,菱形代表【判斷】(注意,資料流圖中的箭頭,代表【資料流】)。

◆ 符合結構化原則的三種基本控制結構是:【順序結構】,【選擇結構】和【迴圈結構】。

3、軟體測試與維護

★★ 軟體測試的目的是盡可能多的發現程式中的錯誤,但是不包括改正錯誤。(軟體除錯的目的才是改正錯誤)

★★ 軟體測試分為靜態測試和動態測試,其中【靜態測試】是指不執行程式,只對程式文字進行檢查。軟體的動態測試主要包括【黑盒測試】和【白盒測試】。

◆ 黑盒測試的方法有等價類劃分法,邊界值分析法,錯誤推測法,因果圖;白盒測試主要方法有邏輯覆蓋、基本路徑測試。(考試時給出一種方法的名字,你要知道屬於白盒還是黑盒)

【白盒測試】的原則之一是保證所測模組的每乙個獨立路徑至少要執行一次。白盒測試將程式看做是【路徑的集合】。

◆ 軟體測試一般按照四個步驟進行:單元測試,整合測試,驗收測試和系統測試。整合測試應該在【單元測試】之後進行。

◆ 在模組測試中,需要為每個被測試的模組設計【驅動模組】和【承接模組】。其中,驅動模組的作用是將測試的資料傳給被測試的模組,並顯示結果。

◆ 【測試用例】是為某個目標而編制的一組測試輸入、執行條件及預期結果。測試用例包括輸入值集和【輸出值集】。

★★ 診斷和改正程式中的錯誤稱為【程式除錯】(或軟體除錯),通常也稱為debug。軟體除錯可分為【靜態除錯】和【動態除錯】。

◆ 在軟體已經交付使用之後,為了改正錯誤或滿足新的需要而修改軟體的過程稱為【軟體維護】。注意軟體維護不屬於軟體生命週期【開發階段】的任務。

第三部分資料庫設計基礎 (歷年比例24%)

1、資料庫系統基本概念

◆ 資料庫設計的根本目標是要解決【資料共享問題】。在資料庫管理技術發展的三個階段中,資料共享最好的是【資料庫系統階段】。資料獨立性最高的階段是【資料庫系統階段】。

◆ 資料庫系統與檔案系統的區別是前者具有【特定的資料模型】。

◆ 資料庫系統常見的資料模型有層次模型,網路模型和【關係模型】。

★★ 資料庫系統的核心是【資料庫管理系統】。

◆ dbs包括db和dbms。完整講,資料庫系統dbs由資料庫db、資料庫管理系統dbms、資料庫管理員dba、硬體平台和軟體平台組成。

◆ 資料庫應用系統的核心是【資料庫維護】。

◆ 資料庫系統的**模式結構:內模式處於最底層,它反映了資料在計算機物理結構中的實際儲存形式;概念模式處於中層,它放映了設計者的資料全域性邏輯要求,與軟硬體環境無關;

外模式處於最外層,它反映了使用者對資料的要求。

◆ 在資料庫系統中,使用者所見的資料模式為【外模式】。

◆ 資料庫設計的四個階段是:需求分析、概念設計、【邏輯設計】和【物理設計】。將e-r圖轉換成關係資料模型屬於【邏輯設計】階段。

◆ 資料庫管理系統提供的資料語言:資料定義語言ddl,資料操縱語言dml,資料控制語言dcl。sql的全稱是structured query language,中文意思是【結構化查詢語言】。

2、資料模型

★★★ 實體之間的聯絡用樹形結構來表示的模型是【層次模型】。採用二維表來表示的是【關係模型】。在關聯式資料庫中,把資料表示成二維表,每乙個二維表稱為【關係】。

◆ 在關聯式資料庫中,用來表示實體之間聯絡的是【關係】。

◆ 將e-r圖轉化為關係模式時,實體和聯絡都可以表示為【關係】。

★★★ 確定兩個實體之間是一對

一、一對多、還是多對多的方法是:選擇實體a,看是否有多個實體b與之對應;選擇實體b,看是否有多個實體a與之對應。例如在「學生學習課程」中的兩個實體,學生與課程,乙個學生可以學習多門課程,一門課程可以被多個學生學習,所以二者是一種多對多的關係。

★★ 在e-r 圖中,用來表示實體的圖形是【矩形】。用來表示【屬性】的圖形是橢圓。用菱形來表示聯絡。

★★ 乙個關係表的行稱為【元組】(或記錄),列稱為【屬性】(或字段)。

◆ 在二維表中,元組的【分量】不能再分為更小的資料線。

◆ 為了建立乙個關係,首先要構造資料的【邏輯關係】。

3、關係代數

二級C 公共基礎知識

黑體為正確答案 1 下列敘述中正確的是 a 資料庫是乙個獨立的系統,不需要作業系統的支援 b 資料庫設計是指設計資料庫管理系統 c 資料庫技術的根本目標是要解決資料共享的問題 d 資料庫系統中,資料的物理結構必須與邏輯結構一致 2 下面敘述正確的是 a 演算法的執行效率與資料的儲存結構無關 b 演算...

二級C公共基礎知識總結

第一章資料結構與演算法 1.1 演算法 演算法 是一組有窮指令集,是解題方 而完整的描述。通俗地說,演算法就是計算機解題的過程。演算法不等於程式,也不等於計算方法,程式的編制不可能優於演算法的設計。演算法是一組嚴謹地定義運算順序的規則,每乙個規則都是有效的,且是明確的,此順序將在有限的次數下終止。所...

人力資源二級考試考點梳理

第一章規劃 一 p36 崗位設計的基本方法 1 傳統的方法研究技術 1 程式分析 作業程式圖 流程圖 線圖 人一機程式圖 多作業程式圖 操作人程式圖 2 動作研究 2 現代工效學的方法 3 其他可以借鑑的方法 二 現代工效學所研究的物件和內容 1 人體測量的方法和標準 2 勞動作業區域場所,作業裝置...