為了方便計算機等級試,特意整理出來(lái)的。
第一章數據結構與算法1算法是解題方案的準確而完整的描述,它不等于程序,也不等于計算方法。基本特征:可行性、確定性、有窮性、擁有足夠的情報。
2算法復雜度主要包括時(shí)間復雜度和空間復雜度。時(shí)間復雜度:用來(lái)衡量算法執行過(guò)程中所需要的基本運算次數。
空間復雜度:用來(lái)衡量算法執行過(guò)程中所需要的存儲空間。3數據結構研究的主要內容:(1)數據的邏輯結構(2)數據的存儲結構(3)對各種數據結構進(jìn)行的運算4研究數據結構的主要目的:提高數據處理的效率。
5數據結構的定義:指相互關(guān)聯(lián)的數據元素的集合。6數據的邏輯結構反映數據元素之間的邏輯關(guān)系,數據的存儲結構是數據的邏輯結構在計算機存儲空間的存放形式。
同一種邏輯結構可以采用不同存儲結構,但影響數據處理效率。7數據結構分為兩大類(lèi)型:線(xiàn)性結構與非線(xiàn)性結構常見(jiàn)線(xiàn)性結構:線(xiàn)性表、棧、隊列、線(xiàn)性鏈表常用非線(xiàn)性結構:樹(shù)、二叉樹(shù)、圖8線(xiàn)性表示由n(n>=0)個(gè)相同類(lèi)型的數據元素構成的有限序列。
結構特征:(1)數據元素在表中的位置由序號決定,數據元素之間的相對位置是線(xiàn)性的(2)對于一個(gè)非空線(xiàn)性表,有且只有一個(gè)根節點(diǎn)a1,它無(wú)前件,有且只有一個(gè)終端結點(diǎn)an,它無(wú)后件,除根結點(diǎn)與終端結點(diǎn)外,其他所有結點(diǎn)有且只有一個(gè)前件,也有且只有一個(gè)后件。基本存儲結構:(1)順序存儲(2)鏈式存儲9順序表的插入運算時(shí)需要移動(dòng)元素,在等概率情況下,平均需要移動(dòng)n/2個(gè)元素。
10進(jìn)行順序表的刪除運算時(shí)也需要移動(dòng)元素,在等概率情況下,平均移動(dòng)(n-1)/2個(gè)元素。11棧只能在棧頂插入或刪除元素,是一種先進(jìn)后出FILO(或稱(chēng)為后入先出LIFO)的線(xiàn)性表。
12隊列是只能從隊尾插入元素,在隊頭刪除元素,是一種先進(jìn)先出FIFO(或后入后出LILO)的線(xiàn)性表。13線(xiàn)性鏈表不能隨機存取。
14在線(xiàn)性鏈表中插入元素時(shí),不需要移動(dòng)數據元素,只需要修改相關(guān)結點(diǎn)指針即可,也不會(huì )出現“上溢”現象。15在線(xiàn)性鏈表中刪除元素時(shí),也不需要移動(dòng)數據元素,只需要修改相關(guān)結點(diǎn)指針即可。
16循環(huán)鏈表實(shí)單鏈表基礎上增加了一個(gè)表頭結點(diǎn),其插入和刪除運算與單鏈表相同,可以從任意結點(diǎn)出發(fā)來(lái)訪(fǎng)問(wèn)表中其他所有結點(diǎn),并實(shí)現空表與非空表的運算。17一般二叉樹(shù)通常采用鏈式存儲結構,對于滿(mǎn)二叉樹(shù)與完全二叉樹(shù)來(lái)說(shuō),可以按層序進(jìn)行順序存儲。
18二分查找知識用于順序存儲的線(xiàn)性表,對于無(wú)序線(xiàn)性表和線(xiàn)性表的鏈式存儲結構只能用順序查找。19冒泡排序是每一趟都會(huì )把較小的元素先前移動(dòng),最壞比較次數是n(n-1)/2。
20簡(jiǎn)單插入排序法是將無(wú)序序列中的各元素依次插入到已經(jīng)有序的線(xiàn)性表中,最壞比較次數為n(n-1)/2。21希爾排序法的基本思想:將無(wú)序序列劃分成若干個(gè)子序列(又相隔某個(gè)增量h的元素組成)分別進(jìn)行直接插入排序,待整個(gè)序列中的元素基本有序(增量足夠小)時(shí),在對全體元素進(jìn)行一次直接插入排序。
因為直接插入排序在元素基本有序的情況下(接近最好情況),效率是很高的。22選擇排序每一趟都是找出無(wú)序序列中的最小一個(gè)元素,最壞比較次數為n(n-1)/2。
23排序技術(shù):(1)交換排序法:冒泡排序、快速排序(2)插入排序法:簡(jiǎn)單插入排序法、希爾排序(3)選擇排序法:簡(jiǎn)單選擇排序法、堆排序法。
事業(yè)單位考試里面是出的題目是兩個(gè)部分:一個(gè)部分是公共基礎知識,一部分是對報考專(zhuān)業(yè)的技能知識的理論方面。公共基礎知識趙公務(wù)員考試書(shū)復習,專(zhuān)業(yè)技能知識部分看計算機方面的書(shū)。
事業(yè)單位考試又稱(chēng)事業(yè)編制考試,這項工作由各用人單位的人事部門(mén)委托省級和地級市的人事廳局所屬人事考試中心(事業(yè)單位,考試中心命題和組織報名、考試并交用人單位成績(jì)名單,部分單位自行命題組織實(shí)施)。目前尚無(wú)全國和全省、市統一招考,最多縣級各個(gè)單位統一招考 ,一般規模大的采取網(wǎng)絡(luò )報名,人數少則現場(chǎng)報名。
1. 計算機二級C語(yǔ)言考試的流程:
1. 筆試:90分鐘,滿(mǎn)分100分,其中含公共基礎知識部分的30分。
2. 上機操作:90分鐘,滿(mǎn)分100分。
上機操作包括:
(1) 基本操作。
(2) 簡(jiǎn)單應用。
(3) 綜合應用。
2. 計算機二級C語(yǔ)言考試內容 :
一、C語(yǔ)言程序的結構
1.程序的構成,main函數和其他函數。
2.頭文件,數據說(shuō)明,函數的開(kāi)始和結束標志以及程序中的注釋。
3.源程序的書(shū)寫(xiě)格式。
4.C語(yǔ)言的風(fēng)格。
二、數據類(lèi)型及其運算
1.C的數據類(lèi)型(基本類(lèi)型,構造類(lèi)型,指針類(lèi)型,無(wú)值類(lèi)型)及其定義方法。
2.C運算符的種類(lèi)、運算優(yōu)先級和結合性。
3.不同類(lèi)型數據間的轉換與運算。
4.C表達式類(lèi)型(賦值表達式,算術(shù)表達式,關(guān)系表達式,邏輯表達式,條件表達式,逗號表達式)和求值規則。
三、基本語(yǔ)句
1.表達式語(yǔ)句,空語(yǔ)句,復合語(yǔ)句。
2.輸入輸出函數的調用,正確輸入數據并正確設計輸出格式。
四、選擇結構程序設計
1.用if語(yǔ)句實(shí)現選擇結構。
2.用switch語(yǔ)句實(shí)現多分支選擇結構。
3.選擇結構的嵌套。
五、循環(huán)結構程序設計
1.for循環(huán)結構。
2.while和do-while循環(huán)結構。
3.continue語(yǔ)句break語(yǔ)句。
4.循環(huán)的嵌套。
六、數組的定義和引用
1.一維數組和二維數組的定義、初始化和數組元素的引用。
2.字符串與字符數組。
七、函數
1.庫函數的正確調用。
2.函數的定義方法。
3.函數的類(lèi)型和返回值。
4.形式參數與實(shí)在參數,參數值的傳遞。
5.函數的正確調用,嵌套調用,遞歸調用。
6.局部變量和全局變量。
7.變量的存儲類(lèi)別(自動(dòng),靜態(tài),寄存器,外部),變量的作用域和生存期。
八、編譯預處理
1.宏定義和調用(不帶參數的宏,帶參數的宏)。
2.“文件包含”處理。
九、指針
1.地址與指針變量的概念,地址運算符與間址運算符。
2.一維。二維數組和字符串的地址以及指向變量、數組、字符串、函數、結構體的指針變量的定義。通過(guò)指針引用以上各類(lèi)型數據。
3.用指針作函數參數。
4.返回地址值的函數。
5.指針數組,指向指針的指針。
十、結構體(即“結構”)與共同體(即:“聯(lián)合”)
1.用typedef說(shuō)明一個(gè)新類(lèi)型。
2.結構體和共用體類(lèi)型數據的定義和成員的引用。
3.通過(guò)結構體構成鏈表,單向鏈表的建立,結點(diǎn)數據的輸出、刪除與插入。
十一、位運算
1.位運算符的含義和使用。
2.簡(jiǎn)單的位運算。
十二、文件操作
只要求緩沖文件系統(即高級磁盤(pán)I/O系統),對非標準緩沖文件系統(即低級磁盤(pán)I/O系統)不要求。
1.文件類(lèi)型指針(FILE類(lèi)型指針)。
2.文件的打開(kāi)與關(guān)閉(fopen,fclose)。
3.文件的讀寫(xiě)(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函數的應用),文件的定位(rewind,fseek函數的應用)。
這個(gè)隨便搜一下就知道啊:第一節 計算機概述 一、計算機發(fā)展概況 第一代電子管計算機(1946-1957) 第二代晶體管計算機(1957-1964) 第三代中小集成電路計算機(1964-1972) 第四代大規模、超大集成電路計算機(1972-現在) 二、計算機的應用 1.科學(xué)計算 2.數據處理 3.實(shí)時(shí)控制 4.計算機輔助工作 CAD CAM CAI CAE 5.人工智能 三、計算機信息處理的特點(diǎn) (1)能高速度、高質(zhì)量地完成各種數據加工任務(wù)。
(2)具有龐大的數據存儲容量和極快的數據存取速度。 (3)能提供方便的適用方式與豐富多樣的信息輸出形式。
(4)方便而迅速的計算機通信使信息共享很容易實(shí)現。 (5)高效率的計算機輔助開(kāi)發(fā)手段。
模擬練習 【例1·單選題】第四代計算機的主要特征是( )。 A.電子管 B.晶體管 C.中小規模集成電路 D.大規模和超大規模集成電路『正確答案』D【例2·單選題】計算機輔助設計的英文縮寫(xiě)是( )。
A.CAD B.CAI C.CAM D.CAT『正確答案』A第二節 數據在計算機中的表示 一、數據與信息 國際標準化組織(ISO)對數據所下的定義是:“數據是對事實(shí)、概念或指令的一種特殊表達形式,這種特殊的表達形式可以用人工的方法或者用自動(dòng)化的裝置進(jìn)行通信、翻譯轉換或者進(jìn)行加工處理。” 信息是對人們有用的數據,這些數據可能影響到人們行為決策。
二、二進(jìn)制 (一) 二進(jìn)制的相關(guān)概念 1.二進(jìn)制,數字電子計算機中采用二進(jìn)制計數法,在二進(jìn)制計數法中只有兩個(gè)數碼:即0和1,其基數為二,即逢二向高位進(jìn)一。 2.二進(jìn)制數與十進(jìn)制數的轉換 3.八進(jìn)制與十六進(jìn)制 有關(guān)二進(jìn)制、十進(jìn)制、八進(jìn)制、十六進(jìn)制數之間的相互轉換,可以利用“附件”中的計算器來(lái)進(jìn)行。
(二) 二進(jìn)制單位(補充內容) 位bit:用于表示一個(gè)二進(jìn)制位、存儲信息的最小單位。 字節Byte:存儲信息的基本單位。
1字節=8位 1Byte=8bit 換算單位: 1KB=1024B=210B 1MB=1024KB=220B 1GB=1024MB=230B 字長(cháng):計算機一次能處理的二進(jìn)制位數。 常用:8位、16位、32位、64位 三、數值數據在計算機中的表示 數值數據在計算機中采用二進(jìn)制形式表示,其表示方式有定點(diǎn)表示法和浮點(diǎn)表示法兩種。
四、西文字符在計算機中的表示 西文包括:英文字母、數字符號、標點(diǎn)符號、運算符號、控制符號 ASCII碼-美國標準信息交換碼(二進(jìn)制) 基本ASCII用7位二進(jìn)制數表示,占用一個(gè)字節,最高位為0。 例:英文字母'B'的7位ASCII碼為100 0010。
存儲時(shí)為0100 0010。 比較大小:數字<大寫(xiě)字母<小寫(xiě)字母 五、中文在計算機中的表示 1.漢字的輸入碼 漢字輸入方法:鍵盤(pán)輸入、語(yǔ)音輸入、掃描輸入、手寫(xiě)輸入方法等。
鍵盤(pán)輸入法: 數字編碼(區位碼) 拼音編碼(全拼、雙拼) 字形編碼(五筆字型) 型音編碼(自然碼) 2.漢字的國際交換碼與機內碼 國標碼: 計算機與其他系統或設備之間交換漢字信息的標準編碼,又稱(chēng)國際碼。1981年,我國頒布了國家標準《信息交換用字編碼字符集·基本集》,漢字國標碼字符集中共收錄了漢字和圖形符號7445個(gè),其中一級漢字3755個(gè),二級漢字3008個(gè)和圖形符號682個(gè)。
一級漢字為使用頻度高的常用漢字,按漢語(yǔ)拼音安母順序排列;不常用的漢字為二級漢字按部首排列。 在漢字交換碼中,每個(gè)漢字用兩個(gè)字節表示。
漢字機內碼(內碼): 是計算機系統中用來(lái)存儲和處理中、西文信息的代碼。 漢字內碼:用兩個(gè)字節表示。
內碼與國標碼的關(guān)系: 它們的區別在于國際碼兩個(gè)字節的最高位都是“0”,而機內碼兩個(gè)字節的最高位都是“1”。 3.漢字的字形碼 漢字輸出碼又叫做漢字字形碼或漢字字模。
漢字輸出碼的和用是輸出漢字,對漢字字形經(jīng)過(guò)點(diǎn)陣的數字化后形成的一串二進(jìn)制數稱(chēng)為漢字輸出碼。 點(diǎn)陣字形由排成方陣(如16*16、24*24、48*48……)的一組二進(jìn)制數字表示一個(gè)字符。
16*16點(diǎn)陣字形常用于屏幕顯示,筆畫(huà)生硬,細節難以區分:打印輸出常用24*24、40*40、48*48,甚至96*96或更高,點(diǎn)陣的數字越大,說(shuō)明筆鋒越完整,字跡越清晰美觀(guān)。 點(diǎn)陣字形的字節計算:點(diǎn)陣數/8 4.常用漢字輸入法簡(jiǎn)介 模擬練習 【例3·判斷題】'9'的ASCII碼小于'a'的ASCII碼。
( )『正確答案』對【例4·單選題】存儲信息的基本單位是( )。 A.bit B.byte C.KB D.MB『正確答案』B【例5·判斷題】漢字輸入碼是為了解決將漢字輸入計算機而編制的代碼。
( )『正確答案』對【例6·單選題】24*24點(diǎn)陣字庫中的一個(gè)漢字需占( )字節的存儲空間。 A.16 B.72 C.48 D.64『正確答案』B【例7·單選題】不同的漢字輸入方法輸入漢字后,該漢字的內碼是( )的。
A.相同的 B.完全不相同 C.大部分相同 D.部分相同『正確答案』A第三節 計算機硬件 一、計算機系統 一個(gè)完整的計算機系統是由硬件、軟件及用戶(hù)等三部分組成的人機系統。 二、計算機的邏輯結構 計算機體系結構的基本思想:馮·諾依曼原理 1.輸入設備 2.輸出設備 3.存儲器 (1)主存儲器 主存儲器也叫內存儲器,簡(jiǎn)稱(chēng)內存,其特點(diǎn)是存取速度快、可靠性高,但容量有限。
(2)輔助存。
關(guān)于公共基礎知識這個(gè)科目的考試,2001年以前的中央、國家機關(guān)公務(wù)員錄用考試的一直把《公共基礎知識》作為公共科目筆試內容之一。2001年以后中央國家機關(guān)公務(wù)員錄用考試對考試科目和考核內容作了調整,取消了公共基礎知識作為獨立一科的考試內容,而增加了申論,同時(shí),將公共基礎知識的內容壓縮作為常識判斷在行政職業(yè)能力測試中加以考察。
因此,備考2007年中央國家機關(guān)公務(wù)員考試的考生,公共基礎知識的復習我們認為不需要專(zhuān)門(mén)購買(mǎi)《公共基礎知識》的教材,而應主要以法律知識,尤其是憲法、行政法、民法、經(jīng)濟法知識。2005年和2006年大綱明確強調該部分主要測查考生法律知識的運用。
地方公務(wù)員錄用考試中關(guān)于公共基礎知識的考核則不盡相同。有的省份也取消了公共基礎知識作為獨立的一科,如云南2006年,河北省2006年、湖南2006年、河南2006年等,都將公共基礎知識作為行政能力測試的一部分。其中,云南、河北等省和中央國家機關(guān)公務(wù)員考試一致,將這部分內容以常識判斷的形式作為行政能力測試的一部分內容加以考核。而湖南省除了在判斷推理部分考常識判斷,還將公共基礎知識作為行政職業(yè)能力測試的一部分內容加以考核;
有的省份還繼續將《公共基礎知識》作為獨立的一科加以考核,如江蘇省2006年。把公共科目列為筆試單獨一科的省份,考試模式也不相同,基本上趨于標準化測試,即全部為客觀(guān)性試題,用計算機閱卷;但仍有一些省份采取傳統的測試方式,即考試題型分為主觀(guān)試題和客觀(guān)試題兩部分。
2、2006年江蘇省《公共基礎知識》部分考查內容沒(méi)有大的變化,但是題目靈活性大大增強,題型變化大。
在考試內容方面,考點(diǎn)只作了微調,在“公文寫(xiě)作與處理”部分,把“黨政機關(guān)公文概述”改為“黨政機關(guān)公文規范”,突出了機關(guān)公文的規范性考察;在“其他知識”部分,特別增加了“中國文化常識”,這意味著(zhù)考生要提高人文素養。
在考試題型方面,2006年為判斷題、單項選擇題、多項選擇題、不定項選擇題、糾錯題、簡(jiǎn)答題、公文實(shí)務(wù)題、案例分析題、綜合分析題、閱讀理解題和材料概括題等形式。在上述形式中選擇4-6種,既有客觀(guān)性試題,又有主觀(guān)性試題。而2005年只有選擇題、公文實(shí)務(wù)題、案例分析題、綜合分析題和材料處理題,基本沒(méi)有主觀(guān)性試題。新《大綱》新增了“判斷題”、“簡(jiǎn)答題”、“閱讀理解題”、“糾錯題”等,同時(shí)把“材料處理題”改為“材料概括題”,把“選擇題”細分為“單項選擇題、多項選擇題、不定項選擇題”,題型的多種可選擇性和主客觀(guān)試題相結合,加大了考生對該科目把握的難度,考生特別要提高運用知識分析問(wèn)題、解決實(shí)際問(wèn)題的能力。《公共基礎知識》自2002年以來(lái)首次出現主觀(guān)性試題,總題量有可能減少,但難度會(huì )上調,這對考生在答題速度和準確性方面提出了較高要求。《公共基礎知識》考查的靈活性加大后,在十幾種題型中選擇4到6種,這給廣大考生復習又加大了工作量。
值得C類(lèi)職位考生特別注意的是,盡管《大綱》規定C類(lèi)卷只考《公共基礎知識》和《行政職業(yè)能力傾向測驗》兩科,但從以往“省考”情況看,《公共基礎知識》后半部分往往是與公文文種結合的“小申論”考察。申論考試的出題角度可能更加靈活,更加注重針對性,更趨于接近公務(wù)員的實(shí)際工作。
同時(shí),在大綱的第四部分,“當代中國政府與政治”中“近期黨的重大路線(xiàn)、方針和政策”這一塊,廣大考生要注意十六屆五中全會(huì )的內容。但只要以不變應萬(wàn)變,按照大綱要求好好掌握知識體系,就能在考試中運籌帷幄。
1、算法問(wèn)題處理方案的正確而完整的描述稱(chēng)為【算法】。
算法分析的目的是,分析算法的效率以求改進(jìn)。算法的基本特征是【可行性】、【確定性】、【有窮性】和擁有足夠情報。
算法的有窮性是指:算法程序的運行時(shí)間是有限的。算法的復雜度是衡量算法好壞的度量,分為【時(shí)間復雜度】和【空間復雜度】。
時(shí)間復雜度是指執行算法所需要的【計算工作量】;算法的空間復雜度是指算法執行過(guò)程中所需的【存儲空間】。算法時(shí)間復雜度或空間復雜度中的一項的值,沒(méi)有辦法推出另一項的值。
2、數據結構索引屬于存儲結構(物理結構)。循環(huán)隊列屬于【存儲結構】。
數據的存儲結構又稱(chēng)為物理結構,是數據的邏輯結構在計算機存儲空間中的存放形式。一個(gè)邏輯結構可以有多種存儲結構,且各種存儲結構影響數據處理的效率。
程序執行的效率與數據的存儲結構密切相關(guān)。數據結構分為線(xiàn)性結構和非線(xiàn)性結構,帶鏈的隊列屬于【線(xiàn)性結構】。
線(xiàn)性表的存儲結構主要分為順序存儲結構和鏈式存儲結構。順序存儲結構的存儲一定是連續的,鏈式存儲的存儲空間不一定是連續的。
有序線(xiàn)性表既可以采用順序存儲結構,也可以采用鏈式存儲結構。隊列是一種特殊的線(xiàn)性表,循環(huán)隊列按照【先進(jìn)先出】原則組織數據。
循環(huán)隊列是隊列的【順序】存儲結構。數據的獨立性分為【物理獨立】性和【邏輯獨立性】。
當數據的存儲結構改變時(shí),其邏輯結構可以不變,因此,基于邏輯結構的應用程序可以不用修改,稱(chēng)為【物理獨立性】。3、棧和隊列棧是一種特殊的線(xiàn)性表,是只能在一端進(jìn)行插入和刪除的線(xiàn)性表,特點(diǎn)是先進(jìn)后出棧是【先進(jìn)后出】的線(xiàn)性表;棧具有記憶作用;對棧的插入與刪除操作中,不需要改變【棧底指針】。
假定讓元素1、2、3、A、B依次入棧,則出棧的順序是:B、A、3、2、1。棧與隊列都是線(xiàn)性結構,樹(shù)是非線(xiàn)性結構。
支持子程序調用的數據結構是【棧】。棧與隊列的共同點(diǎn)是,都只允許在【端點(diǎn)處】插入和刪除元素。
棧只能順序存儲的描述是錯誤的。棧可以有【順序和鏈式】?jì)煞N存儲方式。
隊列是允許在一段插入,在另一端進(jìn)行刪除的線(xiàn)性表,其特點(diǎn)是【先進(jìn)先出】。循環(huán)隊列中元素的個(gè)數是由隊頭指針和隊尾指針共同決定。
循環(huán)隊列的頭指針為front,尾指針為rear,容量為maxSize,則循環(huán)隊列中元素的個(gè)數是【 (rear-front+maxSize) mod maxSize】。4、線(xiàn)性鏈表線(xiàn)性鏈表是線(xiàn)性表的鏈式存儲結構。
用鏈表表示線(xiàn)性表的優(yōu)點(diǎn)是【便于插入和刪除操作】。線(xiàn)性鏈表的存儲空間不一定連續,且個(gè)元素的存儲順序是任意的。
5、樹(shù)與二叉樹(shù)在樹(shù)結構中,一個(gè)結點(diǎn)所擁有的后件(繼)的個(gè)數稱(chēng)為該結點(diǎn)的度,所有結點(diǎn)中最大的度稱(chēng)為樹(shù)的度。二叉樹(shù)各結點(diǎn)的度只可能取值0、1、2,不可能是其它值。
換言之,知道了度為1結點(diǎn)數量的前提下,葉子結點(diǎn)或度為2的結點(diǎn)中知道其一,就可以求出總的結點(diǎn)數。上述的計算公式,關(guān)鍵要能夠應用,例如,深度為7的滿(mǎn)二叉樹(shù),度為2的結點(diǎn)數量是多少?既然是滿(mǎn)二叉樹(shù),葉子結點(diǎn)的數量就是第7層的結點(diǎn)數量,也就是26,可以算出葉子結點(diǎn)為64,因此度為2的結點(diǎn)數是63(葉子結點(diǎn)數減去1)。
二叉樹(shù)的前序遍歷、中序遍歷、后續遍歷:前中后三個(gè)詞是相對于根來(lái)講的,前序是【根-->左-->右】,中序是【左-->根-->右】,后續是【左-->右-->根】。具體操作為:先序遍歷(D L R): 訪(fǎng)問(wèn)根結點(diǎn),按先序遍歷左子樹(shù),按先序遍歷右子樹(shù)。
中序遍歷(L D R): 按中序遍歷左子樹(shù),訪(fǎng)問(wèn)根結點(diǎn),按中序遍歷右子樹(shù)。后序遍歷(L R D): 按后序遍歷左子樹(shù),按后序遍歷右子樹(shù),訪(fǎng)問(wèn)根結點(diǎn)。
下面以中序遍歷為例,來(lái)講解實(shí)際的解題方法:對一棵樹(shù),將根結點(diǎn)下的左子樹(shù)用一個(gè)橢圓圈起來(lái),右子樹(shù)也用一個(gè)橢圓圈起來(lái)。之后,在左子樹(shù)上標記上1,在根結點(diǎn)標記上2,在右子樹(shù)上標記上3。
對在左邊橢圓內的左子樹(shù),現在把它單獨拿出來(lái)分析。把它的左子樹(shù)圈起來(lái)標上1.1,根結點(diǎn)標記上1.2,右子樹(shù)標上1.3。
按照上述方法依次往下,直到樹(shù)不能拆分,然后按照“左-->根--->右”的順序寫(xiě)出結點(diǎn)的訪(fǎng)問(wèn)先后即可。6、查找技術(shù)對于長(cháng)度為n的線(xiàn)性表,順序查找最壞情況下需要比較n次。
(對數據是否有序沒(méi)有要求)。◆ 順序查找最好情況下查詢(xún)次數是1,最壞情況下是n,平均為(1+n)/2。
對于長(cháng)度為n的有序線(xiàn)性表,二分法最壞情況下只需要比較log2n次。(數據必須有序)能用二分法進(jìn)行查找的是【順序存儲的有序線(xiàn)性表】。
7、排序技術(shù)對于長(cháng)度為n的線(xiàn)性表,【冒泡排序、快速排序、簡(jiǎn)單插入排序、簡(jiǎn)單選擇排序】這四種排序方式在最壞情況下的比較次數相同,都是【n(n-1)/2】。堆排序的效率最高,是【nlog2n】。
★★ 希爾排序最壞情況下需要次比較【n1.5】。希爾排序屬于【插入類(lèi)排序法】。
已知數據表A中每個(gè)元素距最終位置不遠,為節省時(shí)間,應該采用的算法是【直接插入排序】。選擇排序、插入排序、快速排序、歸并排序中對內存要求最大的是【歸并排序】。
第二部分 軟件工程基礎 1、軟件工程基本概念軟件是包括【程序】、【數據】及【相關(guān)文檔】的完整集合,軟件是一種邏輯產(chǎn)品。軟件工程三要素包括【方法、工具。
第一章數據結構與算法1.1 算法算法:是指解題方案的準確而完整的描述。
算法不等于程序,也不等計算機方法,程序的編制不可能優(yōu)于算法的設計。算法的基本特征:是一組嚴謹地定義運算順序的規則,每一個(gè)規則都是有效的,是明確的,此順序將在有限的次數下終止。
特征包括:(1)可行性;(2)確定性,算法中每一步驟都必須有明確定義,不充許有模棱兩可的解釋?zhuān)辉试S有多義性;(3)有窮性,算法必須能在有限的時(shí)間內做完,即能在執行有限個(gè)步驟后終止,包括合理的執行時(shí)間的含義;(4)擁有足夠的情報。算法的基本要素:一是對數據對象的運算和操作;二是算法的控制結構。
指令系統:一個(gè)計算機系統能執行的所有指令的集合。基本運算和操作包括:算術(shù)運算、邏輯運算、關(guān)系運算、數據傳輸。
算法的控制結構:順序結構、選擇結構、循環(huán)結構。算法基本設計方法:列舉法、歸納法、遞推、遞歸、減斗遞推技術(shù)、回溯法。
算法復雜度:算法時(shí)間復雜度和算法空間復雜度。算法時(shí)間復雜度是指執行算法所需要的計算工作量。
算法空間復雜度是指執行這個(gè)算法所需要的內存空間。1.2 數據結構的基本基本概念數據結構研究的三個(gè)方面:(1)數據集合中各數據元素之間所固有的邏輯關(guān)系,即數據的邏輯結構;(2)在對數據進(jìn)行處理時(shí),各數據元素在計算機中的存儲關(guān)系,即數據的存儲結構;(3)對各種數據結構進(jìn)行的運算。
數據結構是指相互有關(guān)聯(lián)的數據元素的集合。數據的邏輯結構包含:(1)表示數據元素的信息;(2)表示各數據元素之間的前后件關(guān)系。
數據的存儲結構有順序、鏈接、索引等。線(xiàn)性結構條件:(1)有且只有一個(gè)根結點(diǎn);(2)每一個(gè)結點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。
非線(xiàn)性結構:不滿(mǎn)足線(xiàn)性結構條件的數據結構。1.3 線(xiàn)性表及其順序存儲結構線(xiàn)性表由一組數據元素構成,數據元素的位置只取決于自己的序號,元素之間的相對位置是線(xiàn)性的。
在復雜線(xiàn)性表中,由若干項數據元素組成的數據元素稱(chēng)為記錄,而由多個(gè)記錄構成的線(xiàn)性表又稱(chēng)為文件。非空線(xiàn)性表的結構特征:(1)且只有一個(gè)根結點(diǎn)a1,它無(wú)前件;(2)有且只有一個(gè)終端結點(diǎn)an,它無(wú)后件;(3)除根結點(diǎn)與終端結點(diǎn)外,其他所有結點(diǎn)有且只有一個(gè)前件,也有且只有一個(gè)后件。
結點(diǎn)個(gè)數n稱(chēng)為線(xiàn)性表的長(cháng)度,當n=0時(shí),稱(chēng)為空表。線(xiàn)性表的順序存儲結構具有以下兩個(gè)基本特點(diǎn):(1)線(xiàn)性表中所有元素的所占的存儲空間是連續的;(2)線(xiàn)性表中各數據元素在存儲空間中是按邏輯順序依次存放的。
ai的存儲地址為:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)為第一個(gè)元素的地址,k代表每個(gè)元素占的字節數。順序表的運算:插入、刪除。
(詳見(jiàn)14--16頁(yè))1.4 棧和隊列棧是限定在一端進(jìn)行插入與刪除的線(xiàn)性表,允許插入與刪除的一端稱(chēng)為棧頂,不允許插入與刪除的另一端稱(chēng)為棧底。棧按照“先進(jìn)后出”(FILO)或“后進(jìn)先出”(LIFO)組織數據,棧具有記憶作用。
用top表示棧頂位置,用bottom表示棧底。棧的基本運算:(1)插入元素稱(chēng)為入棧運算;(2)刪除元素稱(chēng)為退棧運算;(3)讀棧頂元素是將棧頂元素賦給一個(gè)指定的變量,此時(shí)指針無(wú)變化。
隊列是指允許在一端(隊尾)進(jìn)入插入,而在另一端(隊頭)進(jìn)行刪除的線(xiàn)性表。Rear指針指向隊尾,front指針指向隊頭。
隊列是“先進(jìn)行出”(FIFO)或“后進(jìn)后出”(LILO)的線(xiàn)性表。隊列運算包括(1)入隊運算:從隊尾插入一個(gè)元素;(2)退隊運算:從隊頭刪除一個(gè)元素。
循環(huán)隊列:s=0表示隊列空,s=1且front=rear表示隊列滿(mǎn)1.5 線(xiàn)性鏈表數據結構中的每一個(gè)結點(diǎn)對應于一個(gè)存儲單元,這種存儲單元稱(chēng)為存儲結點(diǎn),簡(jiǎn)稱(chēng)結點(diǎn)。結點(diǎn)由兩部分組成:(1)用于存儲數據元素值,稱(chēng)為數據域;(2)用于存放指針,稱(chēng)為指針域,用于指向前一個(gè)或后一個(gè)結點(diǎn)。
在鏈式存儲結構中,存儲數據結構的存儲空間可以不連續,各數據結點(diǎn)的存儲順序與數據元素之間的邏輯關(guān)系可以不一致,而數據元素之間的邏輯關(guān)系是由指針域來(lái)確定的。鏈式存儲方式即可用于表示線(xiàn)性結構,也可用于表示非線(xiàn)性結構。
線(xiàn)性鏈表,HEAD稱(chēng)為頭指針,HEAD=NULL(或0)稱(chēng)為空表,如果是兩指針:左指針(Llink)指向前件結點(diǎn),右指針(Rlink)指向后件結點(diǎn)。線(xiàn)性鏈表的基本運算:查找、插入、刪除。
1.6 樹(shù)與二*樹(shù)樹(shù)是一種簡(jiǎn)單的非線(xiàn)性結構,所有元素之間具有明顯的層次特性。在樹(shù)結構中,每一個(gè)結點(diǎn)只有一個(gè)前件,稱(chēng)為父結點(diǎn),沒(méi)有前件的結點(diǎn)只有一個(gè),稱(chēng)為樹(shù)的根結點(diǎn),簡(jiǎn)稱(chēng)樹(shù)的根。
每一個(gè)結點(diǎn)可以有多個(gè)后件,稱(chēng)為該結點(diǎn)的子結點(diǎn)。沒(méi)有后件的結點(diǎn)稱(chēng)為葉子結點(diǎn)。
在樹(shù)結構中,一個(gè)結點(diǎn)所擁有的后件的個(gè)數稱(chēng)為該結點(diǎn)的度,所有結點(diǎn)中最大的度稱(chēng)為樹(shù)的度。樹(shù)的最大層次稱(chēng)為樹(shù)的深度。
二*樹(shù)的特點(diǎn):(1)非空二*樹(shù)只有一個(gè)根結點(diǎn);(2)每一個(gè)結點(diǎn)最多有兩棵子樹(shù),且分別稱(chēng)為該結點(diǎn)的左子樹(shù)與右子樹(shù)。二*樹(shù)的基本性質(zhì):(1)在二*樹(shù)的第k層上,最多有2k-1(k≥1)個(gè)結點(diǎn);(2)深度為m的二*樹(shù)最多有2m-1個(gè)結點(diǎn);(3)度為0的結點(diǎn)(即葉子結點(diǎn))總是比度為2的結點(diǎn)多一個(gè);(4)具有n個(gè)結點(diǎn)的二*樹(shù),其深度至少為[log2n]+1,其中[。
去百度文庫,查看完整內容> 內容來(lái)自用戶(hù):梅悠心理 復習及應試建議:1.考生的復習必須遵守:“80/20的原則”二級考試的公共知識部分的覆蓋面廣,至少涵蓋了計算機應用專(zhuān)業(yè)的四門(mén)核心課程:算法及數據結構、程序設計基礎、軟件工程基礎和數據庫。
事實(shí)上,這些課程本身的涉及面就很廣,難度系數較大。因此,這些課程甚至也是計算機專(zhuān)業(yè)學(xué)生最頭疼的課程,對大多數考生來(lái)說(shuō)其難度之大不言而喻。
所以,考生應把80%的時(shí)間用在20%的重點(diǎn)知識點(diǎn)上,爭取用20%的重點(diǎn)知識點(diǎn)來(lái)答對80%的考題,這是考生復習二級考試的公共知識部分的總體思路。2.復習的關(guān)鍵是考生必須準確判斷和掌握常見(jiàn)考點(diǎn)考生必須能夠準確判斷和掌握常見(jiàn)考點(diǎn),例如:算法部分主要考查算法的概念及算法的復雜度;數據結構部分主要考查最基本的概念、最典型的數據結構和最常見(jiàn)的操作;程序設計部分主要考查程序設計風(fēng)格的基本要求、結構化程序設計的最基本知識和面向對象程序設計的最常見(jiàn)概念;軟件工程基礎部分主要考查軟件工程的基本概念及軟件生命周期的各個(gè)階段的基礎知識;數據庫基礎部分主要考查數據庫基本概念、數據模型、關(guān)系代數基礎知識、數據庫設計方法和步驟。
對常見(jiàn)考點(diǎn)的準確把握會(huì )使考生避免盲目學(xué)習,從而能夠輕松面對考試。二級考試中要求的知識點(diǎn)都是最基本的、最簡(jiǎn)單的,真正需要數據的存儲結構有順序、鏈接、索引等。
其允許插入與刪除的一端稱(chēng)為棧頂,用指針(2)例1.82.3消息的組成包括:(①軟件設計的基本原理是:(動(dòng)態(tài)測試:是基本計算。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:3.149秒