




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、二級公共基礎知識總結第一章 數據結構與算法1.1 算法算法:是指解題方案的準確而完整的描述。算法不等于程序,也不等計算機方法,程序的編制不可能優于算法的設計。算法的基本特征:是一組嚴謹地定義運算順序的規則,每一個規則都是有效的,是明確的,此順序將在有限的次數下終止。特征包括:(1)可行性;(2)確定性,算法中每一步驟都必須有明確定義,不充許有模棱兩可的解釋,不允許有多義性;(3)有窮性,算法必須能在有限的時間內做完,即能在執行有限個步驟后終止,包括合理的執行時間的含義;(4)擁有足夠的情報。算法的基本要素:一是對數據對象的運算和操作;二是算法的控制結構。指令系統:一個計算機系統能執行的所有指令
2、的集合。基本運算包括:算術運算、邏輯運算、關系運算、數據傳輸。算法的控制結構:順序結構、選擇結構、循環結構。算法基本設計方法:列舉法、歸納法、遞推、遞歸、減斗遞推技術、回溯法。算法復雜度:算法時間復雜度和算法空間復雜度。算法時間復雜度是指執行算法所需要的計算工作量。算法空間復雜度是指執行這個算法所需要的內存空間。1.2 數據結構的基本基本概念數據結構研究的三個方面:(1)數據集合中各數據元素之間所固有的邏輯關系,即數據的邏輯結構;(2)在對數據進行處理時,各數據元素在計算機中的存儲關系,即數據的存儲結構;(3)對各種數據結構進行的運算。數據結構是指相互有關聯的數據元素的集合。數據的邏輯結構包含
3、:(1)表示數據元素的信息;(2)表示各數據元素之間的前后件關系。數據的存儲結構有順序、鏈接、索引等。線性結構條件:(1)有且只有一個根結點;(2)每一個結點最多有一個前件,也最多有一個后件。非線性結構:不滿足線性結構條件的數據結構。13 線性表及其順序存儲結構線性表是由一組數據元素構成,數據元素的位置只取決于自己的序號,元素之間的相對位置是線性的。在復雜線性表中,由若干項數據元素組成的數據元素稱為記錄,而由多個記錄構成的線性表又稱為文件。非空線性表的結構特征:(1)且只有一個根結點a1,它無前件;(2)有且只有一個終端結點an,它無后件;(3)除根結點與終端結點外,其他所有結點有且只有一個前
4、件,也有且只有一個后件。結點個數n稱為線性表的長度,當n=0時,稱為空表。線性表的順序存儲結構具有以下兩個基本特點:(1)線性表中所有元素的所占的存儲空間是連續的;(2)線性表中各數據元素在存儲空間中是按邏輯順序依次存放的。ai的存儲地址為:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)為第一個元素的地址,k代表每個元素占的字節數。順序表的運算:插入、刪除。 (詳見14-16頁)14 棧和隊列棧是限定在一端進行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧按照“先進后出”(FILO)或“后進先出”(LIFO)組織數據,棧具有記憶作用。用t
5、op表示棧頂位置,用bottom表示棧底。棧的基本運算:(1)插入元素稱為入棧運算;(2)刪除元素稱為退棧運算;(3)讀棧頂元素是將棧頂元素賦給一個指定的變量,此時指針無變化。隊列是指允許在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表。Rear指針指向隊尾,front指針指向隊頭。隊列是“先進行出”(FIFO)或“后進后出”(LILO)的線性表。隊列運算包括(1)入隊運算:從隊尾插入一個元素;(2)退隊運算:從隊頭刪除一個元素。循環隊列:s=0表示隊列空,s=1且front=rear表示隊列滿15 線性鏈表數據結構中的每一個結點對應于一個存儲單元,這種存儲單元稱為存儲結點,簡稱結點
6、。結點由兩部分組成:(1)用于存儲數據元素值,稱為數據域;(2)用于存放指針,稱為指針域,用于指向前一個或后一個結點。在鏈式存儲結構中,存儲數據結構的存儲空間可以不連續,各數據結點的存儲順序與數據元素之間的邏輯關系可以不一致,而數據元素之間的邏輯關系是由指針域來確定的。鏈式存儲方式即可用于表示線性結構,也可用于表示非線性結構。線性鏈表,HEAD稱為頭指針,HEAD=NULL(或0)稱為空表,如果是兩指針:左指針(Llink)指向前件結點,右指針(Rlink)指向后件結點。線性鏈表的基本運算:查找、插入、刪除。16 樹與二叉樹樹是一種簡單的非線性結構,所有元素之間具有明顯的層次特性。在樹結構中,
7、每一個結點只有一個前件,稱為父結點,沒有前件的結點只有一個,稱為樹的根結點,簡稱樹的根。每一個結點可以有多個后件,稱為該結點的子結點。沒有后件的結點稱為葉子結點。在樹結構中,一個結點所擁有的后件的個數稱為該結點的度,所有結點中最大的度稱為樹的度。樹的最大層次稱為樹的深度。二叉樹的特點:(1)非空二叉樹只有一個根結點;(2)每一個結點最多有兩棵子樹,且分別稱為該結點的左子樹與右子樹。二叉樹的基本性質:(1)在二叉樹的第k層上,最多有2(k-1) (k1)個結點;(2)深度為m的二叉樹最多有(2m)-1個結點;(3)度為0的結點(即葉子結點)總是比度為2的結點多一個;(4)具有n個結點的二叉樹,其
8、深度至少為log2n+1,其中log2n表示取log2n的整數部分;(5)具有n個結點的完全二叉樹的深度為log2n+1;(6)設完全二叉樹共有n個結點。如果從根結點開始,按層序(每一層從左到右)用自然數1,2,.n給結點進行編號(k=1,2.n),有以下結論:若k=1,則該結點為根結點,它沒有父結點;若k>1,則該結點的父結點編號為INT(k/2);若2kn,則編號為k的結點的左子結點編號為2k;否則該結點無左子結點(也無右子結點);若2k+1n,則編號為k的結點的右子結點編號為2k+1;否則該結點無右子結點。滿二叉樹是指除最后一層外,每一層上的所有結點有兩個子結點,則k層上有2k-1
9、個結點深度為m的滿二叉樹有2m-1個結點。完全二叉樹是指除最后一層外,每一層上的結點數均達到最大值,在最后一層上只缺少右邊的若干結點。二叉樹存儲結構采用鏈式存儲結構,對于滿二叉樹與完全二叉樹可以按層序進行順序存儲。二叉樹的遍歷:(1)前序遍歷(DLR),首先訪問根結點,然后遍歷左子樹,最后遍歷右子樹;(2)中序遍歷(LDR),首先遍歷左子樹,然后訪問根結點,最后遍歷右子樹;(3)后序遍歷(LRD)首先遍歷左子樹,然后訪問遍歷右子樹,最后訪問根結點。17 查找技術順序查找的使用情況:(1)線性表為無序表;(2)表采用鏈式存儲結構。二分法查找只適用于順序存儲的有序表,對于長度為n的有序線性表,最壞
10、情況只需比較log2n次。18 排序技術排序是指將一個無序序列整理成按值非遞減順序排列的有序序列。交換類排序法:(1)冒泡排序法,需要比較的次數為n(n-1)/2; (2)快速排序法。插入類排序法:(1)簡單插入排序法,最壞情況需要n(n-1)/2次比較;(2)希爾排序法,最壞情況需要O(n1.5)次比較。選擇類排序法:(1)簡單選擇排序法, 最壞情況需要n(n-1)/2次比較;(2)堆排序法,最壞情況需要O(nlog2n)次比較。第二章程序設計基礎21 程序設計設計方法和風格如何形成良好的程序設計風格1、源程序文檔化; 2、數據說明的方法;3、語句的結構; 4、輸入和輸出。注釋分序言性注釋和
11、功能性注釋,語句結構清晰第一、效率第二。22 結構化程序設計結構化程序設計方法的四條原則是:1. 自頂向下;2. 逐步求精;3.模塊化;4.限制使用goto語句。結構化程序的基本結構和特點:(1)順序結構:一種簡單的程序設計,最基本、最常用的結構;(2)選擇結構:又稱分支結構,包括簡單選擇和多分支選擇結構,可根據條件,判斷應該選擇哪一條分支來執行相應的語句序列;(3)循環結構:可根據給定條件,判斷是否需要重復執行某一相同程序段。23 面向對象的程序設計面向對象的程序設計:以60年代末挪威奧斯陸大學和挪威計算機中心研制的SIMULA語言為標志。面向對象方法的優點:(1)與人類習慣的思維方法一致;
12、(2)穩定性好;(3)可重用性好;(4)易于開發大型軟件產品;(5)可維護性好。對象是面向對象方法中最基本的概念,可以用來表示客觀世界中的任何實體,對象是實體的抽象。面向對象的程序設計方法中的對象是系統中用來描述客觀事物的一個實體,是構成系統的一個基本單位,由一組表示其靜態特征的屬性和它可執行的一組操作組成。屬性即對象所包含的信息,操作描述了對象執行的功能,操作也稱為方法或服務。對象的基本特點:(1)標識惟一性;(2)分類性;(3)多態性;(4)封裝性;(5)模塊獨立性好。類是指具有共同屬性、共同方法的對象的集合。所以類是對象的抽象,對象是對應類的一個實例。消息是一個實例與另一個實例之間傳遞的
13、信息。消息的組成包括(1)接收消息的對象的名稱;(2)消息標識符,也稱消息名;(3)零個或多個參數。繼承是指能夠直接獲得已有的性質和特征,而不必重復定義他們。繼承分單繼承和多重繼承。單繼承指一個類只允許有一個父類,多重繼承指一個類允許有多個父類。多態性是指同樣的消息被不同的對象接受時可導致完全不同的行動的現象第三章軟件工程基礎31 軟件工程基本概念計算機軟件是包括程序、數據及相關文檔的完整集合。軟件的特點包括:(1)軟件是一種邏輯實體;(2)軟件的生產與硬件不同,它沒有明顯的制作過程;(3)軟件在運行、使用期間不存在磨損、老化問題;(4)軟件的開發、運行對計算機系統具有依賴性,受計算機系統的限
14、制,這導致了軟件移植的問題;(5)軟件復雜性高,成本昂貴;(6)軟件開發涉及諸多的社會因素。軟件按功能分為應用軟件、系統軟件、支撐軟件(或工具軟件)。軟件危機主要表現在成本、質量、生產率等問題。軟件工程是應用于計算機軟件的定義、開發和維護的一整套方法、工具、文檔、實踐標準和工序。軟件工程包括3個要素:方法、工具和過程。軟件工程過程是把軟件轉化為輸出的一組彼此相關的資源和活動,包含4種基本活動:(1)P軟件規格說明;(2)D軟件開發;(3)C軟件確認;(4)A軟件演進。軟件周期:軟件產品從提出、實現、使用維護到停止使用退役的過程。軟件生命周期三個階段:軟件定義、軟件開發、運行維護,主要活動階段是
15、:(1)可行性研究與計劃制定;(2)需求分析;(3)軟件設計;(4)軟件實現;(5)軟件測試;(6)運行和維護。軟件工程的目標和與原則:目標:在給定成本、進度的前提下,開發出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產品。基本目標:付出較低的開發成本;達到要求的軟件功能;取得較好的軟件性能;開發軟件易于移植;需要較低的費用;能按時完成開發,及時交付使用。基本原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。軟件工程的理論和技術性研究的內容主要包括:軟件開發技術和軟件工程管理。軟件開發技術包括:軟件開發方法學、
16、開發過程、開發工具和軟件工程環境。軟件工程管理包括:軟件管理學、軟件工程經濟學、軟件心理學等內容。軟件管理學包括人員組織、進度安排、質量保證、配置管理、項目計劃等。軟件工程原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。32 結構化分析方法結構化方法的核心和基礎是結構化程序設計理論。需求分析方法有(1)結構化需求分析方法; (2)面向對象的分析的方法。從需求分析建立的模型的特性來分:靜態分析和動態分析。結構化分析方法的實質:著眼于數據流,自頂向下,逐層分解,建立系統的處理流程,以數據流圖和數據字典為主要工具,建立系統的邏輯模型。結構化分析的常用工具(1)數據流圖; (
17、2)數據字典; (3)判定樹; (4)判定表。數據流圖:描述數據處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統功能建模。數據字典:對所有與系統相關的數據元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶和系統分析員對于輸入、輸出、存儲成分和中間計算結果有共同的理解。判定樹:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結論,根據描述材料中的連接詞找出判定條件之間的從屬關系、并列關系、選擇關系,根據它們構造判定樹。判定表:與判定樹相似,當數據流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發的,使用判定表描述比較適宜。數
18、據字典是結構化分析的核心。軟件需求規格說明書的特點:(1)正確性;(2)無岐義性;(3)完整性;(4)可驗證性;(5)一致性;(6)可理解性;(7)可追蹤性。33 結構化設計方法軟件設計的基本目標是用比較抽象概括的方式確定目標系統如何完成預定的任務,軟件設計是確定系統的物理模型。軟件設計是開發階段最重要的步驟,是將需求準確地轉化為完整的軟件產品或系統的唯一途徑。從技術觀點來看,軟件設計包括軟件結構設計、數據設計、接口設計、過程設計。結構設計:定義軟件系統各主要部件之間的關系。數據設計:將分析時創建的模型轉化為數據結構的定義。接口設計:描述軟件內部、軟件和協作系統之間以及軟件與人之間如何通信。過
19、程設計:把系統結構部件轉換成軟件的過程描述。從工程管理角度來看:概要設計和詳細設計。軟件設計的一般過程:軟件設計是一個迭代的過程;先進行高層次的結構設計;后進行低層次的過程設計;穿插進行數據設計和接口設計。衡量軟件模塊獨立性使用耦合性和內聚性兩個定性的度量標準。在程序結構中各模塊的內聚性越強,則耦合性越弱。優秀軟件應高內聚,低耦合。軟件概要設計的基本任務是:(1)設計軟件系統結構; (2)數據結構及數據庫設計;(3)編寫概要設計文檔; (4)概要設計文檔評審。模塊用一個矩形表示,箭頭表示模塊間的調用關系。 在結構圖中還可以用帶注釋的箭頭表示模塊調用過程中來回傳遞的信息。還可用帶實心圓的箭頭表示
20、傳遞的是控制信息,空心圓箭心表示傳遞的是數據。結構圖的基本形式:基本形式、順序形式、重復形式、選擇形式。結構圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協調模塊。典型的數據流類型有兩種:變換型和事務型。變換型系統結構圖由輸入、中心變換、輸出三部分組成。事務型數據流的特點是:接受一項事務,根據事務處理的特點和性質,選擇分派一個適當的處理單元,然后給出結果。詳細設計:是為軟件結構圖中的每一個模塊確定實現算法和局部數據結構,用某種選定的表達工具表示算法和數據結構的細節。常見的過程設計工具有:圖形工具(程序流程圖)、表格工具(判定表)、語言工具(PDL)。34 軟件測試軟件測試定義:使用人工或自動
21、手段來運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。軟件測試的目的:發現錯誤而執行程序的過程。軟件測試方法:靜態測試和動態測試。靜態測試包括代碼檢查、靜態結構分析、代碼質量度量。不實際運行軟件,主要通過人工進行。動態測試:是基本計算機的測試,主要包括白盒測試方法和黑盒測試方法。白盒測試:在程序內部進行,主要用于完成軟件內部CAO作的驗證。主要方法有邏輯覆蓋、基本基路徑測試。黑盒測試:主要診斷功能不對或遺漏、界面錯誤、數據結構或外部數據庫訪問錯誤、性能錯誤、初始化和終止條件錯,用于軟件確認。主要方法有等價類劃分法、邊界值分析法、錯誤推測法、因果
22、圖等。軟件測試過程一般按4個步驟進行:單元測試、集成測試、驗收測試(確認測試)和系統測試。35 程序的調試程序調試的任務是診斷和改正程序中的錯誤,主要在開發階段進行。程序調試的基本步驟:(1)錯誤定位;(2)修改設計和代碼,以排除錯誤;(3)進行回歸測試,防止引進新的錯誤。軟件調試可分表靜態調試和動態調試。靜態調試主要是指通過人的思維來分析源程序代碼和排錯,是主要的設計手段,而動態調試是輔助靜態調試。主要調試方法有:(1)強行排錯法;(2)回溯法;(3)原因排除法。第四章 數據庫設計基礎41 數據庫系統的基本概念數據:實際上就是描述事物的符號記錄。數據的特點:有一定的結構,有型與值之分,如整型
23、、實型、字符型等。而數據的值給出了符合定型的值,如整型值15。數據庫:是數據的集合,具有統一的結構形式并存放于統一的存儲介質內,是多種應用數據的集成,并可被各個應用程序共享。數據庫存放數據是按數據所提供的數據模式存放的,具有集成與共享的特點。數據庫管理系統:一種系統軟件,負責數據庫中的數據組織、數據操縱、數據維護、控制及保護和數據服務等,是數據庫的核心。數據庫管理系統功能:(1)數據模式定義:即為數據庫構建其數據框架;(2)數據存取的物理構建:為數據模式的物理存取與構建提供有效的存取方法與手段;(3)數據操縱:為用戶使用數據庫的數據提供方便,如查詢、插入、修改、刪除等以及簡單的算術運算及統計;
24、(4)數據的完整性、安生性定義與檢查;(5)數據庫的并發控制與故障恢復;(6)數據的服務:如拷貝、轉存、重組、性能監測、分析等。為完成以上六個功能,數據庫管理系統提供以下的數據語言:(1)數據定義語言:負責數據的模式定義與數據的物理存取構建;(2)數據操縱語言:負責數據的操縱,如查詢與增、刪、改等;(3)數據控制語言:負責數據完整性、安全性的定義與檢查以及并發控制、故障恢復等。數據語言按其使用方式具有兩種結構形式:交互式命令(又稱自含型或自主型語言)宿主型語言(一般可嵌入某些宿主語言中)。數據庫管理員:對數據庫進行規劃、設計、維護、監視等的專業管理人員。數據庫系統:由數據庫(數據)、數據庫管理
25、系統(軟件)、數據庫管理員(人員)、硬件平臺(硬件)、軟件平臺(軟件)五個部分構成的運行實體。數據庫應用系統:由數據庫系統、應用軟件及應用界面三者組成。文件系統階段:提供了簡單的數據共享與數據管理能力,但是它無法提供完整的、統一的、管理和數據共享的能力。層次數據庫與網狀數據庫系統階段 :為統一與共享數據提供了有力支撐。關系數據庫系統階段數據庫系統的基本特點:數據的集成性 、數據的高共享性與低冗余性 、數據獨立性(物理獨立性與邏輯獨立性)、數據統一管理與控制。數據庫系統的三級模式:(1)概念模式:數據庫系統中全局數據邏輯結構的描述,全體用戶公共數據視圖;(2)外模式:也稱子模式與用戶模式。是用戶
26、的數據視圖,也就是用戶所見到的數據模式;(3)內模式:又稱物理模式,它給出了數據庫物理存儲結構與物理存取方法。數據庫系統的兩級映射:(1)概念模式到內模式的映射;(2)外模式到概念模式的映射。4.2 數據模型數據模型的概念:是數據特征的抽象,從抽象層次上描述了系統的靜態特征、動態行為和約束條件,為數據庫系統的信息表與操作提供一個抽象的框架。描述了數據結構、數據操作及數據約束。E-R模型的基本概念(1)實體:現實世界中的事物;(2)屬性:事物的特性;(3)聯系:現實世界中事物間的關系。實體集的關系有一對一、一對多、多對多的聯系。E-R模型三個基本概念之間的聯接關系:實體是概念世界中的基本單位,屬
27、性有屬性域,每個實體可取屬性域內的值。一個實體的所有屬性值叫元組。E-R模型的圖示法:(1)實體集表示法; (2)屬性表法; (3)聯系表示法。層次模型的基本結構是樹形結構,具有以下特點:(1)每棵樹有且僅有一個無雙親結點,稱為根;(2)樹中除根外所有結點有且僅有一個雙親。從圖論上看,網狀模型是一個不加任何條件限制的無向圖。關系模型采用二維表來表示,簡稱表,由表框架及表的元組組成。一個二維表就是一個關系。在二維表中凡能唯一標識元組的最小屬性稱為鍵或碼。從所有侯選健中選取一個作為用戶使用的鍵稱主鍵。表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。關系中的數據約束:(1)實體完整性約束:
28、約束關系的主鍵中屬性值不能為空值;(2)參照完全性約束:是關系之間的基本約束;(3)用戶定義的完整性約束:它反映了具體應用中數據的語義要求。4.3關系代數關系數據庫系統的特點之一是它建立在數據理論的基礎之上,有很多數據理論可以表示關系模型的數據操作,其中最為著名的是關系代數與關系演算。關系模型的基本運算:(1)插入 (2)刪除 (3)修改 (4)查詢(包括投影、選擇、笛卡爾積運算)4.4 數據庫設計與管理數據庫設計是數據應用的核心。數據庫設計的兩種方法:(1)面向數據:以信息需求為主,兼顧處理需求;(2)面向過程:以處理需求為主,兼顧信息需求。數據庫的生命周期:需求分析階段、概念設計階段、邏輯
29、設計階段、物理設計階段、編碼階段、測試階段、運行階段、進一步修改階段。需求分析常用結構析方法和面向對象的方法。結構化分析(簡稱SA)方法用自頂向下、逐層分解的方式分析系統。用數據流圖表達數據和處理過程的關系。對數據庫設計來講,數據字典是進行詳細的數據收集和數據分析所獲得的主要結果。數據字典是各類數據描述的集合,包括5個部分:數據項、數據結構、數據流(可以是數據項,也可以是數據結構)、數據存儲、處理過程。數據庫概念設計的目的是分析數據內在語義關系。設計的方法有兩種(1)集中式模式設計法(適用于小型或并不復雜的單位或部門);(2)視圖集成設計法。設計方法:E-R模型與視圖集成。視圖設計一般有三種設
30、計次序:自頂向下、由底向上、由內向外。視圖集成的幾種沖突:命名沖突、概念沖突、域沖突、約束沖突。關系視圖設計:關系視圖的設計又稱外模式設計。關系視圖的主要作用:(1)提供數據邏輯獨立性;(2)能適應用戶對數據的不同需求;(3)有一定數據保密功能。數據庫的物理設計主要目標是對數據內部物理結構作調整并選擇合理的存取路徑,以提高數據庫訪問速度有效利用存儲空間。一般RDBMS中留給用戶參與物理設計的內容大致有索引設計、集成簇設計和分區設計。數據庫管理的內容:(1)數據庫的建立;(2)數據庫的調整;(3)數據庫的重組;(4)數據庫安全性與完整性控制;(5)數據庫的故障恢復;(6)數據庫監控。2012年9
31、月二級C語言基礎知識練習一、選擇題(1) 下面敘述正確的是(C) A. 算法的執行效率與數據的存儲結構無關 B. 算法的空間復雜度是指算法程序中指令(或語句)的條數 C. 算法的有窮性是指算法必須能在執行有限個步驟之后終止 D. 以上三種描述都不對(2) 以下數據結構中不屬于線性數據結構的是(C) A. 隊列 B. 線性表 C. 二叉樹 D. 棧(3) 在一棵二叉樹上第5層的結點數最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15(4) 下面描述中,符合結構化程序設計風格的是(A) A. 使用順序、選擇和重復(循環)三種基本控制結構表示程序的控制邏輯 B. 模塊只
32、有一個入口,可以有多個出口 C. 注重提高程序的執行效率 D. 不使用goto語句(5) 下面概念中,不屬于面向對象方法的是 (D) 注:P55-58 A. 對象 B. 繼承 C. 類 D. 過程調用(6) 在結構化方法中,用數據流程圖(DFD)作為描述工具的軟件開發階段是(B) A. 可行性分析 B. 需求分析 C. 詳細設計 D. 程序編碼 (7) 在軟件開發中,下面任務不屬于設計階段的是(D) A. 數據結構設計 B. 給出系統模塊結構 C. 定義模塊算法 D. 定義需求并建立系統模型(8) 數據庫系統的核心是(B) A. 數據模型 B. 數據庫管理系統 C. 軟件工具 D. 數據庫(9
33、) 下列敘述中正確的是(C) A.數據庫是一個獨立的系統,不需要操作系統的支持 B.數據庫設計是指設計數據庫管理系統 C.數據庫技術的根本目標是要解決數據共享的問題 D.數據庫系統中,數據的物理結構必須與邏輯結構一致(10) 下列模式中,能夠給出數據庫物理存儲結構與物理存取方法的是(A) 注:P108 A. 內模式 B. 外模式 C. 概念模式 D. 邏輯模式(11) 算法的時間復雜度是指(C) A. 執行算法程序所需要的時間 B. 算法程序的長度 C. 算法執行過程中所需要的基本運算次數 D. 算法程序中的指令條數(12) 算法的空間復雜度是指(D) A. 算法程序的長度 B. 算法程序中的
34、指令條數 C. 算法程序所占的存儲空間 D. 算法執行過程中所需要的存儲空間(13) 設一棵完全二叉樹共有699個結點,則在該二叉樹中的葉子結點數為(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉數的特點可求出 A. 349 B. 350 C. 255 D. 351(14) 結構化程序設計主要強調的是(B) A.程序的規模 B.程序的易讀性 C.程序的執行效率 D.程序的可移植性(15) 在軟件生命周期中,能準確地確定軟件系統必須做什么和必須具備哪些功能的階段是(D) 注:即第一個階段 A. 概要設計 B. 詳細設計 C. 可行性分析 D. 需求分析(16) 數據流圖用于抽象
35、描述一個軟件的邏輯模型,數據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數據流圖合法圖符的是(A) 注:P67 A. 控制流 B. 加工 C. 數據存儲 D. 源和潭(17) 軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規格說明書以及(B) 注:P66 A. 階段性報告 B. 需求評審 C. 總結 D. 都不正確(18) 下述關于數據庫系統的敘述中正確的是(A) A. 數據庫系統減少了數據冗余 B. 數據庫系統避免了一切冗余 C. 數據庫系統中數據的一致性是指數據類型的一致 D. 數據庫系統比文件系統能管理更多的數據(19) 關系表中的每一橫行稱為一個(A)
36、A. 元組 B. 字段 C. 屬性 D. 碼(20) 數據庫設計包括兩個方面的設計內容,它們是(A) A. 概念設計和邏輯設計 B. 模式設計和內模式設計 C. 內模式設計和物理設計 D. 結構特性設計和行為特性設計(21) 下列敘述中正確的是(A) A. 線性表是線性結構 B. 棧與隊列是非線性結構 C. 線性鏈表是非線性結構 D. 二叉樹是線性結構(22) 下列關于棧的敘述中正確的是(D) A. 在棧中只能插入數據 B. 在棧中只能刪除數據 C. 棧是先進先出的線性表 D. 棧是先進后出的線性表(23) 下列關于隊列的敘述中正確的是(C) A. 在隊列中只能插入數據 B. 在隊列中只能刪除
37、數據 C. 隊列是先進先出的線性表 D. 隊列是先進后出的線性表(24) 對建立良好的程序設計風格,下面描述正確的是(A) 注:P48 A. 程序應簡單、清晰、可讀性好 B. 符號名的命名要符合語法 C. 充分考慮程序的執行效率 D. 程序的注釋可有可無(25) 下面對對象概念描述錯誤的是(A) 注:P55 A. 任何對象都必須有繼承性 B. 對象是屬性和方法的封裝體 C. 對象間的通訊靠消息傳遞 D. 操作是對象的動態性屬性(26) 下面不屬于軟件工程的3個要素的是(D) 注:P62 A. 工具 B. 過程 C. 方法 D. 環境(27) 程序流程圖(PFD)中的箭頭代表的是(B) 注:P8
38、1 A. 數據流 B. 控制流 C. 調用關系 D. 組成關系(28) 在數據管理技術的發展過程中,經歷了人工管理階段、文件系統階段和數據庫系統階段。其中數據獨立性最高的階段是(A) A. 數據庫系統 B. 文件系統 C. 人工管理 D. 數據項管理(29) 用樹形結構來表示實體之間聯系的模型稱為(B) A. 關系模型 B. 層次模型 C. 網狀模型 D. 數據模型(30) 關系數據庫管理系統能實現的專門關系運算包括(B) A. 排序、索引、統計 B. 選擇、投影、連接 C. 關聯、更新、排序 D. 顯示、打印、制表(31) 算法一般都可以用哪幾種控制結構組合而成(D) 注:P3 A. 循環、
39、分支、遞歸 B. 順序、循環、嵌套 C. 循環、遞歸、選擇 D. 順序、選擇、循環(32) 數據的存儲結構是指(B) 注:P13,要牢記 A. 數據所占的存儲空間量 B. 數據的邏輯結構在計算機中的表示 C. 數據在計算機中的順序存儲方式 D. 存儲在外存中的數據(33) 設有下列二叉樹: 對此二叉樹中序遍歷的結果為(B) A. ABCDEF B. DBEAFC C. ABDECF D. DEBFCA(34) 在面向對象方法中,一個對象請求另一對象為其服務的方式是通過發送(D) 注:P56 A. 調用語句 B. 命令 C. 口令 D. 消息(35) 檢查軟件產品是否符合需求定義的過程稱為(A)
40、 注:P95 A. 確認測試 B. 集成測試 C. 驗證測試 D. 驗收測試(36) 下列工具中屬于需求分析常用工具的是(D) 注:P67 A. PAD B. PFD C. N-S D. DFD(37) 下面不屬于軟件設計原則的是(C) 注:P73 A. 抽象 B. 模塊化 C. 自底向上 D. 信息隱蔽(38) 索引屬于(B) A. 模式 B. 內模式 C. 外模式 D. 概念模式(39) 在關系數據庫中,用來表示實體之間聯系的是(D) A. 樹結構 B. 網結構 C. 線性表 D. 二維表(40) 將E-R圖轉換到關系模式時,實體與聯系都可以表示成(B) A. 屬性 B. 關系 C. 鍵
41、D. 域(41) 在下列選項中,哪個不是一個算法一般應該具有的基本特征(C) A. 確定性 B. 可行性 C. 無窮性 D. 擁有足夠的情報(42) 希爾排序法屬于哪一種類型的排序法(B) A.交換類排序法 B.插入類排序法 C.選擇類排序法 D.建堆排序法(43) 在深度為5的滿二叉樹中,葉子結點的個數為(C) A. 32 B. 31 C. 16 D. 15(44) 對長度為N的線性表進行順序查找,在最壞情況下所需要的比較次數為(B) 注:要牢記 A. N+1 B. N C. (N+1)/2 D. N/2(45) 信息隱蔽的概念與下述哪一種概念直接相關(B) 注:P74 A.軟件結構定義 B
42、. 模塊獨立性 C. 模塊類型劃分 D. 模擬耦合度(46) 面向對象的設計方法與傳統的的面向過程的方法有本質不同,它的基本原理是(C) A. 模擬現實世界中不同事物之間的聯系 B. 強調模擬現實世界中的算法而不強調概念 C. 使用現實世界的概念抽象地思考問題從而自然地解決問題 D. 鼓勵開發者在軟件開發的絕大部分中都用實際領域的概念去思考(47) 在結構化方法中,軟件功能分解屬于下列軟件開發中的階段是(C) 注:總體設計也就是概要設計 A. 詳細設計 B. 需求分析 C. 總體設計 D. 編程調試(48) 軟件調試的目的是(B) 注:與軟件測試要對比著復習 A.發現錯誤 B.改正錯誤 C.改
43、善軟件的性能 D.挖掘軟件的潛能(49) 按條件f對關系R進行選擇,其關系代數表達式為(C) A. R|X|R B. R|X|Rf C. f(R) D. f(R)(50) 數據庫概念設計的過程中,視圖設計一般有三種設計次序,以下各項中不對的是(D) 注:P127,要牢記 A. 自頂向下 B. 由底向上 C. 由內向外 D. 由整體到局部(51) 在計算機中,算法是指(C) A. 查詢方法 B. 加工方法 C. 解題方案的準確而完整的描述 D. 排序方法(52) 棧和隊列的共同點是(C) 注:這一共同點和線性表不一樣 A. 都是先進后出 B. 都是先進先出 C. 只允許在端點處插入和刪除元素 D
44、. 沒有共同點(53) 已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是(A) 注:P38,前提要掌握三種遍歷的方法 A. cedba B. acbed C. decab D. deabc(54) 在下列幾種排序方法中,要求內存量最大的是(D) 注:要牢記,書中沒有提到。 A. 插入排序 B. 選擇排序 C. 快速排序 D. 歸并排序(55) 在設計程序時,應采納的原則之一是(A) 注:和設計風格有關 A. 程序結構應有助于讀者理解 B. 不限制goto語句的使用 C. 減少或取消注解行 D. 程序越短越好(56) 下列不屬于軟件調試技術的是(B) 注:P98
45、A. 強行排錯法 B. 集成測試法 C. 回溯法 D. 原因排除法(57)下列敘述中,不屬于軟件需求規格說明書的作用的是(D)注:P71 A. 便于用戶、開發人員進行理解和交流 B. 反映出用戶問題的結構,可以作為軟件開發工作的基礎和依據 C. 作為確認測試和驗收的依據 D. 便于開發人員進行需求分析(58) 在數據流圖(DFD)中,帶有名字的箭頭表示(C) A. 控制程序的執行順序 B. 模塊之間的調用關系 C. 數據的流向 D. 程序的組成成分(59) SQL語言又稱為(C) A. 結構化定義語言 B. 結構化控制語言 C. 結構化查詢語言 D. 結構化操縱語言(60) 視圖設計一般有3種
46、設計次序,下列不屬于視圖設計的是(B) A. 自頂向下 B. 由外向內 C. 由內向外 D. 自底向上 (61) 數據結構中,與所使用的計算機無關的是數據的(C) A. 存儲結構 B. 物理結構 C. 邏輯結構 D. 物理和存儲結構(62) 棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是(D) A. ABCED B. DBCEA C. CDABE D. DCBEA(63) 線性表的順序存儲結構和線性表的鏈式存儲結構分別是(B) A. 順序存取的存儲結構、順序存取的存儲結構 B. 隨機存取的存儲結構、順序存取的存儲結構 C. 隨機存取的存儲結構、隨
47、機存取的存儲結構 D. 任意存取的存儲結構、任意存取的存儲結構(64) 在單鏈表中,增加頭結點的目的是(A) A. 方便運算的實現 B. 使單鏈表至少有一個結點 C. 標識表結點中首結點的位置 D. 說明單鏈表是線性表的鏈式存儲實現(65) 軟件設計包括軟件的結構、數據接口和過程設計,其中軟件的過程設計是指(B) 注:P73 A. 模塊間的關系 B. 系統結構部件轉換成軟件的過程描述 C. 軟件層次結構 D. 軟件開發過程(66) 為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替傳統的程序流程圖,通常也把這種圖稱為(B) 注:P82 A. PAD圖 B. N-S圖 C. 結構圖 D
48、. 數據流圖(67) 數據處理的最小單位是(C) 注:數據項不可再分割 A. 數據 B. 數據元素 C. 數據項 D. 數據結構(68) 下列有關數據庫的描述,正確的是(C) 注:P102 A. 數據庫是一個DBF文件 B. 數據庫是一個關系 C. 數據庫是一個結構化的數據集合 D. 數據庫是一組文件(69) 單個用戶使用的數據視圖的描述稱為(A) 注:P108 A. 外模式 B. 概念模式 C. 內模式 D. 存儲模式(70) 需求分析階段的任務是確定(D) A. 軟件開發方法 B. 軟件開發工具 C. 軟件開發費用 D. 軟件系統功能(71) 算法分析的目的是(D) 注:書中沒有總結,但要
49、牢記 A. 找出數據結構的合理性 B. 找出算法中輸入和輸出之間的關系 C. 分析算法的易懂性和可靠性 D. 分析算法的效率以求改進(72)鏈表不具有的特點是(B) A.不必事先估計存儲空間 B.可隨機訪問任一元素 C.插入刪除不需要移動元素 D.所需空間與線性表長度成正比(73) 已知數據表A中每個元素距其最終位置不遠,為節省時間,應采用的算法是(B) A. 堆排序 B. 直接插入排序 C. 快速排序 D. 直接選擇排序(74) 用鏈表表示線性表的優點是(A) 注:因為不需要移動元素 A. 便于插入和刪除操作 B. 數據元素的物理順序與邏輯順序相同 C. 花費的存儲空間較順序存儲少 D. 便
50、于隨機存取(75) 下列不屬于結構化分析的常用工具的是(D) 注:P67 A. 數據流圖 B. 數據字典 C. 判定樹 D. PAD圖(76) 軟件開發的結構化生命周期方法將軟件生命周期劃分成(A) A. 定義、開發、運行維護 B. 設計階段、編程階段、測試階段 C. 總體設計、詳細設計、編程調試 D. 需求分析、功能定義、系統設計(77) 在軟件工程中,白箱測試法可用于測試程序的內部結構。此方法將程序看做是(C) 注:P87 A. 循環的集合 B. 地址的集合 C. 路徑的集合 D. 目標的集合(78) 在數據管理技術發展過程中,文件系統與數據庫系統的主要區別是數據庫系統具有(D) 注:數據
51、模型采用關系模型(二維表) A. 數據無冗余 B. 數據可共享 C. 專門的數據管理軟件 D. 特定的數據模型(79) 分布式數據庫系統不具有的特點是(B) A. 分布式 B. 數據冗余 C. 數據分布性和邏輯整體性 D. 位置透明性和復制透明性(80) 下列說法中,不屬于數據模型所描述的內容的是(C) 注:P110 A. 數據結構 B. 數據操作 C. 數據查詢 D. 數據約束(81)根據數據結構中各數據元素之間前后件關系的復雜程度,一般將數據結構分成(C) A.動態結構和靜態結構 B.緊湊結構和非緊湊結構 C.線性結構和非線性結構 D.內部結構和外部結構 (82)下列敘述中,錯誤的是(B)
52、 A.數據的存儲結構與數據處理的效率密切相關 B.數據的存儲結構與數據處理的效率無關 C.數據的存儲結構在計算機中所占的空間不一定是連續的 D.一種數據的邏輯結構可以有多種存儲結構(83)線性表L=(a1,a2,a3,ai,an),下列說法正確的是(D) A.每個元素都有一個直接前件和直接后件 B.線性表中至少要有一個元素 C.表中諸元素的排列順序必須是由小到大或由大到 D.除第一個元素和最后一個元素外,其余每個元素都有一個且只有一個直接前件和直接后件(84)線性表若采用鏈式存儲結構時,要求內存中可用存儲單元的地址(D) A.必須是連續的 B.部分地址必須是連續的 C.一定是不連續的 D.連續
53、不連續都可以(85)棧通常采用的兩種存儲結構是(A) A.順序存儲結構和鏈式存儲結構 B.散列方式和索引方式 C.鏈表存儲結構和數組 D.線性存儲結構和非線性存儲結構(86)下列數據結構中,按先進后出原則組織數據的是(B) A.線性鏈表 B.棧 C.循環鏈表 D.順序表(87)樹是結點的集合,它的根結點數目是(C) A.有且只有1 B.1或多于1 C.0或1 D.至少2(88)具有3個結點的二叉樹有(D) A.2種形態 B.4種形態 C.7種形態 D. 5種形態 (89)設一棵二叉樹中有3個葉子結點,有8個度為1的結點,則該二叉樹中總的結點數為(B) A. 12 B. 13 C.14 D. 15 (90)在結構化程序設計思想提出之前,在程序設計中曾強調程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業財務報表分析與投資價值評估咨詢合同
- 2025年大數據技術工程師考試試題及答案
- 2025年的基層治理理論與實踐考核試卷及答案
- 2025年心理健康與疾病管理職業資格考試試題及答案
- 果樹病蟲害綜合防治與綠色防控
- 【課件】命題、定理、證明 課件 2024-2025學年人教版數學七年級下冊
- 2型呼衰患者的護理查房
- 旅游車隊租賃運營管理擔保協議
- 新材料研發基地廠房轉租及科研成果轉化合同范本
- 工傷死亡賠償協議書
- 飲食與營養試題及答案
- 公司崗變薪變管理制度
- 影像科招聘試題及答案
- 關于中心醫院“十五五”發展規劃(2025-2030)
- 2025年六五環境日生態環保常識及法律知識有獎競答題庫及答案(共90題)
- 上海市社區工作者管理辦法
- 湖南師范大學學位英語歷年考試真題
- 消防安全工作臺賬-消防臺賬記錄
- 中醫腫瘤臨床路徑
- 中考數學《分式及分式方程》計算題(附答案)
- 用人單位用工備案花名冊
評論
0/150
提交評論