數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)大綱_第1頁
數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)大綱_第2頁
數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)大綱_第3頁
數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)大綱_第4頁
數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)大綱_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)大綱第一章基本概念:1.數(shù)據(jù)結(jié)構(gòu)的概念:邏輯結(jié)構(gòu):數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系,是現(xiàn)實中具體關(guān)系的抽象。存儲結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)在計算機內(nèi)存中的表示。算法:算法是求解問題的操作序列。2?抽象數(shù)據(jù)類型:抽象數(shù)據(jù)類型是指一個數(shù)學(xué)模型以及定義在該模型上的一組操作。算法的5個特征:輸入:0個或多個輸入;輸出:1個或多個輸出;有窮性:算法必須在有限步內(nèi)結(jié)束;確定性:組成算法的操作必須清晰無二義性;可行性:組成算法的操作必須能夠在計算機上實現(xiàn)。4?時間復(fù)雜度:一般來說,設(shè)算法中基本操作的執(zhí)行次數(shù)是問題規(guī)模n的某個函數(shù)f(n),算法的時間復(fù)雜度記作:T(n)=O(f(n))它表示隨問題規(guī)模n的增大,算法執(zhí)行時間的增長率與f(n)的增長率相同。5?空間復(fù)雜度:在本課程中,用執(zhí)行算法所需的輔助空間的大小作為算法所需空間的度量。設(shè)執(zhí)行算法所需的輔助空間是問題規(guī)模n的某個函數(shù)g(n),則算法空間復(fù)雜度記作:S(n)=O(g(n))注:要求會計算時間復(fù)雜度和空間復(fù)雜度!

第六章樹與二叉樹二叉樹的基本性質(zhì):性質(zhì)1在二叉樹的第i層上最多有2i-1個結(jié)點性質(zhì)2深度為k的二叉樹最多有2k-1個結(jié)點性質(zhì)3設(shè)二叉樹葉子結(jié)點數(shù)為n0,度為2的結(jié)點n2,則n0=n2+1二叉樹的存儲:順序:(滿二叉樹或完全二叉樹的順序存儲)二-二叉樹存貯結(jié)構(gòu)2<>5?G61二叉樹的葩序結(jié)構(gòu)藕二叉樹或蠱全二更脯的順序結(jié)構(gòu)用一組連續(xù)的內(nèi)療單元'按編號順序依撫存儲蠱全二買則的元塞.例如,用…雉4數(shù)W[]存放一棵蠱全二叉時,將標號為i的結(jié)虛的數(shù)據(jù)元素存放在分量bt[i]中-存衙位黑隱含r樹中的關(guān)系「樹中的關(guān)黍足通過完全二戈樹的性廣實現(xiàn)的*例如,bt[6](1=6)的雙親結(jié)點標號是k=trtinc(i/2)=3,雙親給點所對應(yīng)的數(shù)組分晝骯[k]2<>5?G60123 4 5 67 m-1(非完全二叉樹的順序結(jié)構(gòu))非完全二叉樹的順序結(jié)構(gòu)28D10按完全二叉樹的形式補齊二叉樹所缺少的那些結(jié)點,對二叉樹結(jié)點編號,將二叉樹原有的結(jié)點按編號存儲到內(nèi)存單元龍相應(yīng)^的位置上*但這種方式對于畸形二叉樹*

28D10二叉鏈表:2二文鏈表*二叉鏈表中每入結(jié)點包含三個域:數(shù)據(jù)域r左抬針域*右指針域typedefstructBiTNode{TElemTypedata;StructBiTNode*lchildh*rchild;}BiTNode,*BiTree;三叉鏈表:3三叉鏈表三叉鏈表中每牛結(jié)點包含四個域:數(shù)據(jù)域、雙親指針域*左指針域"右指針域structBT3Node^lchild,旳xh訂山

*parent;:BT3Nodet*B3Tree;

二叉樹的遍歷①先序:先序遍歷右子樹訪問抿結(jié)點A先序遍歷左子樹先序遍歷序列:af先序遍歷右子樹訪問抿結(jié)點A先序遍歷左子樹先序遍歷序列:afb即按TLR的順序遍歷先序遍歷(TLR)若二叉樹非空訪問棍結(jié)點; ’先序遍歷左子樹: .先序遍歷右子樹;\(例:先序遍歷右圖所示的二丈樹⑴⑵左了樹⑶右子樹即按TLR的順序遍歷中序遍歷左子樹;例*中序(1)中序遍歷左子樹;例*中序(1)②中序:中序遍歷(LT若二叉樹非空C1)中序遍歷左子樹⑵訪問根結(jié)點(3)中序遍歷右子樹歷左子樹C2)訪問根結(jié)點A(3)中序遍歷右子樹:即按LTR的順序遍歷右子樹中序遍歷序列:D點G.EAC.F

③后序:例:后序遍歷右圖所示的二叉(1)后序遍歷左子樹;即按(③后序:例:后序遍歷右圖所示的二叉(1)后序遍歷左子樹;即按(2)后仔遍歷右子樹:即按LRT的順序遍歷右子樹后序遍歷(LR若二叉樹非空<1)后序遍歷左子樹(2)后序遍歷右子樹<3)訪問根結(jié)點(3)訪問根結(jié)點A后序遍歷睜列:DPGrE,BrFrC?A④層次:LnitQueue(Q);if(T)EnQueue(Q,T);while(!EmptyQucuc(Q))jDeQueue(Q.p);訪問LnitQueue(Q);if(T)EnQueue(Q,T);while(!EmptyQucuc(Q))jif(p->ktiild)£nQueue(Qnp->lchi[d);if(p->rchild)EnQueuefQsp->rchild);J}先序、中序遍歷二叉樹的非遞歸算法:先序:中序:中序遍歷的非遞歸算法(算法1)StatusInOrderTraverse(BiTreeT){InitStack(S);Push(S;T);while(!StackEmpty(S)){while(GetTop(S?p)&&p)Push(S,p->khild);Pop(S,p);if(!StackEmpty(S)){Pop(S,p);visitfp);Push(S,p->rchild)F}returnOK;中序遍歷的非遞歸算法(算法2)StatusInOrderTraverse(BiTrccT){initStack(S);p=T;while(p||!

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論