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