【正文】
f g ;中序遍歷結果為 d b h e i a f c g ;后序遍歷結果為 d h i e b f g c a 例2:?! 、?二叉樹存儲結構采用鏈式存儲結構,對于滿二叉樹與完全二叉樹可以按層序進行順序存儲?!⊥耆鏄涫侵赋詈笠粚油?,每一層上的結點數(shù)均達到最大值,在最后一層上只缺少右邊的若干結點。 ?。?)二叉樹 ① 特點: a) 非空二叉樹只有一個根結點; b) 每一個結點最多有兩棵子樹,且分別稱為該結點的左子樹與右子樹。?、?一個結點所擁有的后件的個數(shù)稱為該結點的度,所有結點中最大的度稱為樹的度。 ?、?每一個結點可以有多個后件,稱為該結點的子結點?! 、?循環(huán)隊列的元素個數(shù): frontrear時,元素個數(shù)=rearfront; frontrear時,元素個數(shù)=n(循環(huán)隊列容量)front+rear 7.非線性結構 (1)樹 ?、?每一個結點只有一個前件,稱為父結點?!、?隊列的順序存儲結構一般采用隊列循環(huán)的形式?! 、?隊列是“先進先出”(FIFO)或“后進后出”(LILO)的線性表。 ⑥ 棧的元素個數(shù)=bottomtop+1 ?。?)隊列?、?指允許在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表。 ?、?棧的存儲方式有順序存儲和鏈式存儲。棧底位置用指針bottom表示?! 镦準酱鎯Y構需要更多地存儲空間?。?)?!、?限定在一端(即棧頂)進行插入與刪除的線性表?! 镌阪準酱鎯Y構中,存儲數(shù)據(jù)結構的存儲空間可以不連續(xù),各數(shù)據(jù)結點的存儲順序與數(shù)據(jù)元素之間的邏輯關系可以不一致,而數(shù)據(jù)元素之間的邏輯關系是由指針域來確定的。 ?、?線性表的順序存儲結構基本特點: a) 線性表中所有元素所占的存儲空間是連續(xù)的; b) 線性表中各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的 ?、?線性鏈表(線性表的鏈式存儲結構) 數(shù)據(jù)結構中的每一個結點對應于一個存儲單元,這種存儲單元稱為存儲結點,簡稱結點?!。?)非線性結構:不滿足線性結構條件的數(shù)據(jù)結構。 ?。ㄒ卜Q數(shù)據(jù)物理結構):數(shù)據(jù)的邏輯結構在計算機存儲空間中的存放形式 、鏈接、索引、散列。包括算法程序所占的空間,輸入的初始數(shù)據(jù)所占的空間,算法執(zhí)行過程中所需的額外空間。通常,一個算法所用的時間包括編譯時間和運行時間?!。ㄋ惴ㄐ实亩攘浚。?)算法時間復雜度:指執(zhí)行算法所需要的計算工作量。?。喉樞蚪Y構、選擇結構、循環(huán)結構。?。阂粋€計算機系統(tǒng)能執(zhí)行的所有指令的集合?! 。骸。?)確定性,算法中每一步驟都必須有明確定義,不允許有模棱兩可的解釋,不允許有多義性; (2)有窮性,算法必須能在有限的時間內(nèi)做完,即能在執(zhí)行有限個步驟后終止;?。?)可行性,算法原則上能夠精確地執(zhí)行;?。?)擁有足夠的情報。公共基礎知識 二級公共基礎知識總結(30分:10選擇+5填空) 第一章 數(shù)據(jù)結構與算法 一. 算法 ?。菏墙忸}方案的準確而完整的描述。算法不等于程序,也不等于計算方法?! 。阂皇菍?shù)據(jù)對象的運算和操作;二是算法的控制結構?!。核阈g運算、邏輯運算、關系運算、數(shù)據(jù)傳輸?!。毫信e法、歸納法、遞推、遞歸、減半遞推技術、回溯法。即算法執(zhí)行過程中所需要的基本運算次數(shù)。?。?)算法空間復雜度:指執(zhí)行這個算法所需要的內(nèi)存空間。 二. 數(shù)據(jù)結構 ?。褐赶嗷ビ嘘P聯(lián)的數(shù)據(jù)元素的集合?! 。ò锤髟刂g前后件關系的復雜度劃分):?。?)線性結構的條件:①有且只有一個根結點; ②每一個結點最多有一個前件,也最多有一個后件?!。骸 ? (1)線性表 ?、?記錄:由若干項數(shù)據(jù)元素組成的數(shù)據(jù)元素?、?文件:由多個記錄構成的線性表?!〗Y點由兩部分組成: a) 用于存儲數(shù)據(jù)元素值,稱為數(shù)據(jù)域; b) 用于存放指針,稱為指針域,用于指向前一個或后一個結點?! 镦準酱鎯Ψ绞郊纯捎糜诒硎揪€性結構,也可用于表示非線性結構?! 、?棧頂位置用指針top表示?!、?棧按照“先進后出”(FILO)或“后進先出”(LIFO)組織數(shù)據(jù),棧具有記憶作用?!、?棧的基本運算: a) 入棧運算,在棧頂位置插入元素; b) 退棧運算,刪除元素(取出棧頂元素并賦給一個指定的變量); c) 讀棧頂元素,將棧頂元素賦給一個指定的變量,此時指針無變化?! 、?用rear指針指向隊尾,用front指針指向隊頭元素的前一個位置?! 、?隊列運算包括: a) 入隊運算:從隊尾插入一個元素; b) 退隊運算:從隊頭刪除一個元素?! ⊙h(huán)隊列s=0表示隊列空;s=1且front=rear表示隊列滿?! 、?沒有前件的結點只有一個,稱為樹的根結點,簡稱樹的根?! 、?沒有后件的結點稱為葉子結點?!、?樹的最大層次稱為樹的深度。 ?、?滿二叉樹是指除最后一層外,每一層上的所有結點有兩個子結點,則k層上有2k1個結點深度為m的滿二叉樹有2m1個結點。 ?、?基本性質(zhì): a) 在二叉樹的第k層上,最多有2k1(k≥1)個結點; b) 深度為m的二叉樹最多有2m1個結點;