我也考過計算機二級C,當時我已經學習過C語言了,但是對于計算機二級的公共基礎知識中涉及的數據結構(考過并且學過之后還是覺得數據結構占很大部分)網絡基礎之類的東西一點意識都沒有,但是我不建議你再專門學習這些課,因為公共基礎知識考的很簡單,只是表面的一些東西,深究起來倒會有很多不明白。樓上兩位朋友都說的很對,這個東西希望你去買一本書,最好有上機和筆試兩部分,并且有真題。譚浩強那本書很好,如果你認真看C語言是一點問題都沒有的,之所以還需要真題,是因為上機題就是那幾種類別,個人感覺不會很難;筆試的內容不要死記硬背,你在選擇真題時買那種有詳細簡答的,就是給出答案后會對這道題涉及的知識點有一個梳理的那種。比如說有道題是二叉樹的前序遍歷,然后它會在后面告訴你什么是二叉樹,二叉樹有三種遍歷方式:前序,中序和后序,并且結合題目具體給出各個結點的排序。這種方式很容易接受,況且咱們主要目的是會運用這些知識答題,所以結合題目來復習是最好的。至于具體買哪本書,樓主自己挑挑,其實市面上賣的書都差不多。
以上是我個人的一點經驗,希望對你的復習會有所幫助。祝你新年快樂并且能夠在考試中取得好成績。
事業(yè)單位考試里面是出的題目是兩個部分:一個部分是公共基礎知識,一部分是對報考專業(yè)的技能知識的理論方面。公共基礎知識趙公務員考試書復習,專業(yè)技能知識部分看計算機方面的書。
事業(yè)單位考試又稱事業(yè)編制考試,這項工作由各用人單位的人事部門委托省級和地級市的人事廳局所屬人事考試中心(事業(yè)單位,考試中心命題和組織報名、考試并交用人單位成績名單,部分單位自行命題組織實施)。目前尚無全國和全省、市統一招考,最多縣級各個單位統一招考 ,一般規(guī)模大的采取網絡報名,人數少則現場報名。
1、算法問題處理方案的正確而完整的描述稱為【算法】。
算法分析的目的是,分析算法的效率以求改進。算法的基本特征是【可行性】、【確定性】、【有窮性】和擁有足夠情報。
算法的有窮性是指:算法程序的運行時間是有限的。算法的復雜度是衡量算法好壞的度量,分為【時間復雜度】和【空間復雜度】。
時間復雜度是指執(zhí)行算法所需要的【計算工作量】;算法的空間復雜度是指算法執(zhí)行過程中所需的【存儲空間】。算法時間復雜度或空間復雜度中的一項的值,沒有辦法推出另一項的值。
2、數據結構索引屬于存儲結構(物理結構)。循環(huán)隊列屬于【存儲結構】。
數據的存儲結構又稱為物理結構,是數據的邏輯結構在計算機存儲空間中的存放形式。一個邏輯結構可以有多種存儲結構,且各種存儲結構影響數據處理的效率。
程序執(zhí)行的效率與數據的存儲結構密切相關。數據結構分為線性結構和非線性結構,帶鏈的隊列屬于【線性結構】。
線性表的存儲結構主要分為順序存儲結構和鏈式存儲結構。順序存儲結構的存儲一定是連續(xù)的,鏈式存儲的存儲空間不一定是連續(xù)的。
有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構。隊列是一種特殊的線性表,循環(huán)隊列按照【先進先出】原則組織數據。
循環(huán)隊列是隊列的【順序】存儲結構。數據的獨立性分為【物理獨立】性和【邏輯獨立性】。
當數據的存儲結構改變時,其邏輯結構可以不變,因此,基于邏輯結構的應用程序可以不用修改,稱為【物理獨立性】。3、棧和隊列棧是一種特殊的線性表,是只能在一端進行插入和刪除的線性表,特點是先進后出棧是【先進后出】的線性表;棧具有記憶作用;對棧的插入與刪除操作中,不需要改變【棧底指針】。
假定讓元素1、2、3、A、B依次入棧,則出棧的順序是:B、A、3、2、1。棧與隊列都是線性結構,樹是非線性結構。
支持子程序調用的數據結構是【?!?。棧與隊列的共同點是,都只允許在【端點處】插入和刪除元素。
棧只能順序存儲的描述是錯誤的。??梢杂小卷樞蚝玩準健績煞N存儲方式。
隊列是允許在一段插入,在另一端進行刪除的線性表,其特點是【先進先出】。循環(huán)隊列中元素的個數是由隊頭指針和隊尾指針共同決定。
循環(huán)隊列的頭指針為front,尾指針為rear,容量為maxSize,則循環(huán)隊列中元素的個數是【 (rear-front+maxSize) mod maxSize】。4、線性鏈表線性鏈表是線性表的鏈式存儲結構。
用鏈表表示線性表的優(yōu)點是【便于插入和刪除操作】。線性鏈表的存儲空間不一定連續(xù),且個元素的存儲順序是任意的。
5、樹與二叉樹在樹結構中,一個結點所擁有的后件(繼)的個數稱為該結點的度,所有結點中最大的度稱為樹的度。二叉樹各結點的度只可能取值0、1、2,不可能是其它值。
換言之,知道了度為1結點數量的前提下,葉子結點或度為2的結點中知道其一,就可以求出總的結點數。上述的計算公式,關鍵要能夠應用,例如,深度為7的滿二叉樹,度為2的結點數量是多少?既然是滿二叉樹,葉子結點的數量就是第7層的結點數量,也就是26,可以算出葉子結點為64,因此度為2的結點數是63(葉子結點數減去1)。
二叉樹的前序遍歷、中序遍歷、后續(xù)遍歷:前中后三個詞是相對于根來講的,前序是【根-->左-->右】,中序是【左-->根-->右】,后續(xù)是【左-->右-->根】。具體操作為:先序遍歷(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中每個元素距最終位置不遠,為節(jié)省時間,應該采用的算法是【直接插入排序】。選擇排序、插入排序、快速排序、歸并排序中對內存要求最大的是【歸并排序】。
第二部分 軟件工程基礎 1、軟件工程基本概念軟件是包括【程序】、【數據】及【相關文檔】的完整集合,軟件是一種邏輯產品。軟件工程三要素包括【方法、工具。
公共基礎知識 基本要求 1.掌握算法的基本概念。 2.掌握基本數據結構及其操作。 3.掌握基本排序和查找算法。 4.掌握逐步求精的結構化程序設計方法。 5.掌握軟件工程的基本方法,具有初步應用相關技術進行軟件開發(fā)的能力。 6.掌握數據庫的基本知識,了解關系數據庫的設計。 考試內容 一、基本數據結構與算法 1.算法的基本概念;算法復雜度的概念和意義(時間復雜度與空間復雜度)。 2.數據結構的定義;數據的邏輯結構與存儲結構;數據結構的圖形表示;線性結構與非線性結構的概念。 3.線性表的定義;線性表的順序存儲結構及其插入與刪除運算。 4.棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算。 5.線性單鏈表、雙向鏈表與循環(huán)鏈表的結構及其基本運算。 6.樹的基本概念;二叉樹的定義及其存儲結構;二叉樹的前序、中序和后序遍歷。 7.順序查找與二分法查找算法;基本排序算法(交換類排序,選擇類排序,插入類排序)。 二、程序設計基礎 1.程序設計方法與風格 2.結構化程序設計。 3.面向對象的程序設計方法,對象,方法,屬性及繼承與多態(tài)性。 三、軟件工程基礎 1.軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境。 2.結構化分析方法,數據流圖,數據字典,軟件需求規(guī)格說明書。 3.結構化設計方法,總體設計與詳細設計。 4.軟件測試的方法,白盒測試與黑盒測試,測試用例設計,軟件測試的實施,單元測試、集成測試和系統測試。 5.程序的調試,靜態(tài)調試與動態(tài)調試。 四、數據庫設計基礎 1.數據庫的基本概念:數據庫,數據庫管理系統,數據庫系統。 2.數據模型,實體聯系模型及E―R圖,從E―R圖導出關系數據模型。 3.關系代數運算,包括集合運算及選擇、投影、連接運算,數據庫規(guī)范化理 論。 4.數據庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略。 考試方式 1.公共基礎知識的考試方式為筆試,與C語言程序設計(C++語言程序設計、Java語言程序設計、Visual Basic語言程序設計、Visual FoxPro數據庫程序設計或Access數據庫程序設計)的筆試部分合為一張試卷,公共基礎知識部分占全卷的30分。 2.公共基礎知識有l(wèi)0道選擇題和5道填空題。 C語言程序設計 基本要求 1.熟悉TURBO C集成環(huán)境。 2.熟練掌握結構化程序設計的方法,具有良好的程序設計風格。 3.掌握程序設計中簡單的數據結構和算法。 4.TURBO C的集成環(huán)境下,能夠編寫簡單的C程序,并具有基本的糾錯和調試程序的能力。 考試內容 一、C語言的結構 1.程序的構成,MAIN函數和其他函數。 2.頭文件,數據說明,函數的開始和結束標志。 3.源程序的書寫格式。 4.C語言的風格。 二、數據類型及其運算 1.C的數據類型(基本類型,構造類型,指針類型,空類型)及其定義方法。 2.C運算符的種類、運算優(yōu)先級和結合性。 3.不同類型數據間的轉換與運算。 4.C表達式類型(賦值表達式,算術表達式,關系表達式,邏輯表達式,條件表達式,逗號表達式)和求值規(guī)則。 三、基本語句 1.表達式語句,空語句,復合語句。 2.數據的輸入與輸出,輸入輸出函數的調用。 3.復合語句。 4.GOTO語句和語句標號的使用。 四、選擇結構程序設計 1.用IF語句實現選擇結構。 2.用SWITCH語句實現多分支選擇結構。 3.選擇結構的嵌套。 五、循環(huán)結構程序設計 1.FOR循環(huán)結構。 2.WHILE和DO WHILE循環(huán)結構。 3.CONTINUE語句和BREAK語句。 4.循環(huán)的嵌套。 六、數組的定義和引用 1.一維數組和多維數組的定義、初始化和引用 2.字符串與字符數組。 七、函數 1.庫函數的正確調用。 2.函數的定義方法。 3.函數的類型和返回值。 4.形式參數與實在參數,參數值的傳遞。 5.函數的正確調用,嵌套調用,遞歸調用。 6.局部變量和全局變量。 7.變量的存儲類別(自動,靜態(tài),寄存器,外部),變量的作用域和生存期。 8.內部函數與外部函數。 八、編譯預處理 1.宏定義:不帶參數的宏定義;帶參數的宏定義。 2.“文件包含”處理。 九、指針 1.指針與指針變量的概念,指針與地址運算符。 2.變量、數組、字符串、函數、結構體的指針以及指向變量、數組、字符串、函數、結構體的指針變量
計算機二級C語言考試公共基礎知識部分考試內容:
一、基本數據結構與算法
1. 算法的基本概念;算法復雜度的概念和意義(時間復雜度與空間復雜度)。
2. 數據結構的定義;數據的邏輯結構與存儲結構;數據結構的圖形表示;線性結構與非線性結構的概念。
3. 線性表的定義;線性表的順序存儲結構及其插入與刪除運算。
4. 棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算。
5. 線性單鏈表、雙向鏈表與循環(huán)鏈表的結構及其基本運算。
6. 樹的基本概念;二叉樹的定義及其存儲結構;二叉樹的前序、中序和后序遍歷。
7. 順序查找與二分法查找算法;基本排序算法(交換類排序,選擇類排序,插入類排序)。
二、程序設計基礎
1. 程序設計方法與風格。
2. 結構化程序設計。
3. 面向對象的程序設計方法,對象,方法,屬性及繼承與多態(tài)性。
三、軟件工程基礎
1. 軟件工程基本概念,軟件生命周戎概念,軟件工具與軟件開發(fā)環(huán)境。
2. 結構化分析方法,數據流圖,數據字典,軟件需求規(guī)格說明書。
3. 結構化設計方法,總體設計與詳細設計。
4. 軟件測試的方法,白盒測試與黑盒測試,測試用例設計,軟件測試的實施,單元測試、集成測試和系統測試。
5. 程序的調試,靜態(tài)調試與動態(tài)調試。
四、數據庫設計基礎
1. 數據庫的基本概念:數據庫,數據庫管理系統,數據庫系統。
2. 數據模型,實體聯系模型及E-R圖,從E-R圖導出關系數據模型。
3. 關系代數運算,包括集合運算及選擇、投影、連接運算,數據庫規(guī)范化理論。
4. 數據庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略。
計算機二級公共基礎知識總結 數據結構與算法 1.1 算法 算法:是指解題方案的準確而完整的描述。
算法不等于程序,也不等計算機方法,程序的編制不可能優(yōu)于算法的設計。 算法的基本特征:是一組嚴謹地定義運算順序的規(guī)則,每一個規(guī)則都是有效的,是明確的,此順序將在有限的次數下終止。
特征包括: (1)可行性; (2)確定性,算法中每一步驟都必須有明確定義,不充許有模棱兩可的解釋,不允許有多義性; (3)有窮性,算法必須能在有限的時間內做完,即能在執(zhí)行有限個步驟后終止,包括合理的執(zhí)行時間的含義; (4)擁有足夠的情報。 算法的基本要素:一是對數據對象的運算和操作;二是算法的控制結構。
指令系統:一個計算機系統能執(zhí)行的所有指令的集合。 基本運算和操作包括:算術運算、邏輯運算、關系運算、數據傳輸。
算法的控制結構:順序結構、選擇結構、循環(huán)結構。 算法基本設計方法:列舉法、歸納法、遞推、遞歸、減斗遞推技術、回溯法。
算法復雜度:算法時間復雜度和算法空間復雜度。 算法時間復雜度是指執(zhí)行算法所需要的計算工作量。
算法空間復雜度是指執(zhí)行這個算法所需要的內存空間。 1.2 數據結構的基本基本概念 數據結構研究的三個方面: (1)數據集合中各數據元素之間所固有的邏輯關系,即數據的邏輯結構; (2)在對數據進行處理時,各數據元素在計算機中的存儲關系,即數據的存儲結構; (3)對各種數據結構進行的運算。
數據結構是指相互有關聯的數據元素的集合。 數據的邏輯結構包含: (1)表示數據元素的信息; (2)表示各數據元素之間的前后件關系。
數據的存儲結構有順序、鏈接、索引等。 線性結構條件: (1)有且只有一個根結點; (2)每一個結點最多有一個前件,也最多有一個后件。
非線性結構:不滿足線性結構條件的數據結構。 1.3 線性表及其順序存儲結構 線性表由一組數據元素構成,數據元素的位置只取決于自己的序號,元素之間的相對位置是線性的。
在復雜線性表中,由若干項數據元素組成的數據元素稱為記錄,而由多個記錄構成的線性表又稱為文件。 非空線性表的結構特征: (1)且只有一個根結點a1,它無前件; (2)有且只有一個終端結點an,它無后件; (3)除根結點與終端結點外,其他所有結點有且只有一個前件,也有且只有一個后件。
結點個數n稱為線性表的長度,當n=0時,稱為空表。 線性表的順序存儲結構具有以下兩個基本特點: (1)線性表中所有元素的所占的存儲空間是連續(xù)的; (2)線性表中各數據元素在存儲空間中是按邏輯順序依次存放的。
ai的存儲地址為:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)為第一個元素的地址,k代表每個元素占的字節(jié)數。 順序表的運算:插入、刪除。
(詳見14--16頁) 1.4 棧和隊列 棧是限定在一端進行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。 棧按照“先進后出”(FILO)或“后進先出”(LIFO)組織數據,棧具有記憶作用。
用top表示棧頂位置,用bottom表示棧底。 棧的基本運算:(1)插入元素稱為入棧運算;(2)刪除元素稱為退棧運算;(3)讀棧頂元素是將棧頂元素賦給一個指定的變量,此時指針無變化。
隊列是指允許在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表。Rear指針指向隊尾,front指針指向隊頭。
隊列是“先進行出”(FIFO)或“后進后出”(LILO)的線性表。 隊列運算包括(1)入隊運算:從隊尾插入一個元素;(2)退隊運算:從隊頭刪除一個元素。
循環(huán)隊列:s=0表示隊列空,s=1且front=rear表示隊列滿 1.5 線性鏈表 數據結構中的每一個結點對應于一個存儲單元,這種存儲單元稱為存儲結點,簡稱結點。 結點由兩部分組成:(1)用于存儲數據元素值,稱為數據域;(2)用于存放指針,稱為指針域,用于指向前一個或后一個結點。
在鏈式存儲結構中,存儲數據結構的存儲空間可以不連續(xù),各數據結點的存儲順序與數據元素之間的邏輯關系可以不一致,而數據元素之間的邏輯關系是由指針域來確定的。 鏈式存儲方式即可用于表示線性結構,也可用于表示非線性結構。
線性鏈表,HEAD稱為頭指針,HEAD=NULL(或0)稱為空表,如果是兩指針:左指針(Llink)指向前件結點,右指針(Rlink)指向后件結點。 線性鏈表的基本運算:查找、插入、刪除。
1.6 樹與二叉樹 樹是一種簡單的非線性結構,所有元素之間具有明顯的層次特性。 在樹結構中,每一個結點只有一個前件,稱為父結點,沒有前件的結點只有一個,稱為樹的根結點,簡稱樹的根。
每一個結點可以有多個后件,稱為該結點的子結點。沒有后件的結點稱為葉子結點。
在樹結構中,一個結點所擁有的后件的個數稱為該結點的度,所有結點中最大的度稱為樹的度。樹的最大層次稱為樹的深度。
二叉樹的特點:(1)非空二叉樹只有一個根結點;(2)每一個結點最多有兩棵子樹,且分別稱為該結點的左子樹與右子樹。 二叉樹的基本性質: (1)在二叉樹的第k層上,最多有2k-1(k≥1)個結點; (2)深度為m的二叉樹最多有2m-1個結點; (3)度為0的結點(即葉子結點)總是比度為2的結。
二級所有考試科目的公共基礎部分是一樣的!公共基礎知識總結 第一章數據結構與算法1.1 算法算法:是指解題方案的準確而完整的描述。
算法不等于程序,也不等計算機方法,程序的編制不可能優(yōu)于算法的設計。算法的基本特征:是一組嚴謹地定義運算順序的規(guī)則,每一個規(guī)則都是有效的,是明確的,此順序將在有限的次數下終止。
特征包括:(1)可行性;(2)確定性,算法中每一步驟都必須有明確定義,不充許有模棱兩可的解釋,不允許有多義性;(3)有窮性,算法必須能在有限的時間內做完,即能在執(zhí)行有限個步驟后終止,包括合理的執(zhí)行時間的含義;(4)擁有足夠的情報。算法的基本要素:一是對數據對象的運算和操作;二是算法的控制結構。
指令系統:一個計算機系統能執(zhí)行的所有指令的集合?;具\算和操作包括:算術運算、邏輯運算、關系運算、數據傳輸。
算法的控制結構:順序結構、選擇結構、循環(huán)結構。算法基本設計方法:列舉法、歸納法、遞推、遞歸、減斗遞推技術、回溯法。
算法復雜度:算法時間復雜度和算法空間復雜度。算法時間復雜度是指執(zhí)行算法所需要的計算工作量。
算法空間復雜度是指執(zhí)行這個算法所需要的內存空間。1.2 數據結構的基本基本概念數據結構研究的三個方面:(1)數據集合中各數據元素之間所固有的邏輯關系,即數據的邏輯結構;(2)在對數據進行處理時,各數據元素在計算機中的存儲關系,即數據的存儲結構;(3)對各種數據結構進行的運算。
數據結構是指相互有關聯的數據元素的集合。數據的邏輯結構包含:(1)表示數據元素的信息;(2)表示各數據元素之間的前后件關系。
數據的存儲結構有順序、鏈接、索引等。線性結構條件:(1)有且只有一個根結點;(2)每一個結點最多有一個前件,也最多有一個后件。
非線性結構:不滿足線性結構條件的數據結構。1.3 線性表及其順序存儲結構線性表由一組數據元素構成,數據元素的位置只取決于自己的序號,元素之間的相對位置是線性的。
在復雜線性表中,由若干項數據元素組成的數據元素稱為記錄,而由多個記錄構成的線性表又稱為文件。非空線性表的結構特征:(1)且只有一個根結點a1,它無前件;(2)有且只有一個終端結點an,它無后件;(3)除根結點與終端結點外,其他所有結點有且只有一個前件,也有且只有一個后件。
結點個數n稱為線性表的長度,當n=0時,稱為空表。線性表的順序存儲結構具有以下兩個基本特點:(1)線性表中所有元素的所占的存儲空間是連續(xù)的;(2)線性表中各數據元素在存儲空間中是按邏輯順序依次存放的。
ai的存儲地址為:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)為第一個元素的地址,k代表每個元素占的字節(jié)數。順序表的運算:插入、刪除。
(詳見14--16頁)1.4 棧和隊列棧是限定在一端進行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧按照“先進后出”(FILO)或“后進先出”(LIFO)組織數據,棧具有記憶作用。
用top表示棧頂位置,用bottom表示棧底。棧的基本運算:(1)插入元素稱為入棧運算;(2)刪除元素稱為退棧運算;(3)讀棧頂元素是將棧頂元素賦給一個指定的變量,此時指針無變化。
隊列是指允許在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表。Rear指針指向隊尾,front指針指向隊頭。
隊列是“先進行出”(FIFO)或“后進后出”(LILO)的線性表。隊列運算包括(1)入隊運算:從隊尾插入一個元素;(2)退隊運算:從隊頭刪除一個元素。
循環(huán)隊列:s=0表示隊列空,s=1且front=rear表示隊列滿1.5 線性鏈表數據結構中的每一個結點對應于一個存儲單元,這種存儲單元稱為存儲結點,簡稱結點。結點由兩部分組成:(1)用于存儲數據元素值,稱為數據域;(2)用于存放指針,稱為指針域,用于指向前一個或后一個結點。
在鏈式存儲結構中,存儲數據結構的存儲空間可以不連續(xù),各數據結點的存儲順序與數據元素之間的邏輯關系可以不一致,而數據元素之間的邏輯關系是由指針域來確定的。鏈式存儲方式即可用于表示線性結構,也可用于表示非線性結構。
線性鏈表,HEAD稱為頭指針,HEAD=NULL(或0)稱為空表,如果是兩指針:左指針(Llink)指向前件結點,右指針(Rlink)指向后件結點。線性鏈表的基本運算:查找、插入、刪除。
1.6 樹與二叉樹樹是一種簡單的非線性結構,所有元素之間具有明顯的層次特性。在樹結構中,每一個結點只有一個前件,稱為父結點,沒有前件的結點只有一個,稱為樹的根結點,簡稱樹的根。
每一個結點可以有多個后件,稱為該結點的子結點。沒有后件的結點稱為葉子結點。
在樹結構中,一個結點所擁有的后件的個數稱為該結點的度,所有結點中最大的度稱為樹的度。樹的最大層次稱為樹的深度。
二叉樹的特點:(1)非空二叉樹只有一個根結點;(2)每一個結點最多有兩棵子樹,且分別稱為該結點的左子樹與右子樹。二叉樹的基本性質:(1)在二叉樹的第k層上,最多有2k-1(k≥1)個結點;(2)深度為m的二叉樹最多有2m-1個結點;(3)度為0的結點(即葉子結點)總是比度為2的結。
聲明:本網站尊重并保護知識產權,根據《信息網絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:3.440秒