數(shù)據(jù)結(jié)構(gòu)JAVA版課件ppt.ppt
《數(shù)據(jù)結(jié)構(gòu)JAVA版課件ppt.ppt》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)JAVA版課件ppt.ppt(30頁珍藏版)》請在匯文網(wǎng)上搜索。
1、The course of elaboration for Data Structures 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)(JAVA版版)YT_JAVA煙臺職業(yè)學(xué)院精品課火災(zāi)襲來時要迅速疏散逃生,不可蜂擁而出或留戀財物,要當(dāng)機立斷,披上浸濕的衣服或裹上濕毛毯、濕被褥勇敢地沖出去第第7章章 樹和二叉樹樹和二叉樹樹樹 1二叉樹二叉樹 2二叉樹的存儲結(jié)構(gòu)二叉樹的存儲結(jié)構(gòu) 3樹轉(zhuǎn)換成二叉樹樹轉(zhuǎn)換成二叉樹 5線索二叉樹線索二叉樹 6二叉樹的遍歷二叉樹的遍歷 4火災(zāi)襲來時要迅速疏散逃生,不可蜂擁而出或留戀財物,要當(dāng)機立斷,披上浸濕的衣服或裹上濕毛毯、濕被褥勇敢地沖出去71 樹樹v樹的定義樹的定義 樹是由一個或多個結(jié)點構(gòu)
2、成的有限集合。每棵樹必有一個稱做根的結(jié)點。樹是由一個或多個結(jié)點構(gòu)成的有限集合。每棵樹必有一個稱做根的結(jié)點。根結(jié)點可以有零個以上的子結(jié)點,而各子結(jié)點也可為子樹。根結(jié)點可以有零個以上的子結(jié)點,而各子結(jié)點也可為子樹。v樹的有關(guān)術(shù)語樹的有關(guān)術(shù)語l根結(jié)點根結(jié)點(root)一棵樹中沒有父結(jié)點的結(jié)點一棵樹中沒有父結(jié)點的結(jié)點l葉結(jié)點或終端結(jié)點葉結(jié)點或終端結(jié)點(leaf node)沒有子結(jié)點的結(jié)點沒有子結(jié)點的結(jié)點l非終端結(jié)點非終端結(jié)點(nonterminal)除了葉結(jié)點以外的其他結(jié)點除了葉結(jié)點以外的其他結(jié)點l父結(jié)點父結(jié)點(parent)和子結(jié)點和子結(jié)點(child)若結(jié)點若結(jié)點X有一個以結(jié)點有一個以結(jié)點Y為樹根
3、為樹根的子樹,則的子樹,則X為為Y的父結(jié)點,而的父結(jié)點,而Y就是就是X的子結(jié)點的子結(jié)點l兄弟兄弟(sibling)同一個父結(jié)點的結(jié)點同一個父結(jié)點的結(jié)點l分支度分支度(degree)每個結(jié)點的子結(jié)點數(shù)每個結(jié)點的子結(jié)點數(shù)l高度高度(height)或深度或深度(depth)一棵樹中最大層數(shù)一棵樹中最大層數(shù)l祖先祖先(ancestor)由結(jié)點由結(jié)點X到根結(jié)點路徑上所有的結(jié)點到根結(jié)點路徑上所有的結(jié)點l森林森林(forest)n0個樹的集合個樹的集合火災(zāi)襲來時要迅速疏散逃生,不可蜂擁而出或留戀財物,要當(dāng)機立斷,披上浸濕的衣服或裹上濕毛毯、濕被褥勇敢地沖出去7.2 二叉樹二叉樹v二叉樹(二叉樹(Binary
4、 tree)的遞歸定義)的遞歸定義 二叉樹是有二叉樹是有n個結(jié)點組成的有限集合,個結(jié)點組成的有限集合,n=0時為空二時為空二叉樹;叉樹;n0時,二叉樹是由有一個根結(jié)點和兩棵互不相時,二叉樹是由有一個根結(jié)點和兩棵互不相交的、分別稱為左子樹和右子樹構(gòu)成。二叉樹有一種有序交的、分別稱為左子樹和右子樹構(gòu)成。二叉樹有一種有序樹。樹。兩棵不同的二叉樹兩棵不同的二叉樹:火災(zāi)襲來時要迅速疏散逃生,不可蜂擁而出或留戀財物,要當(dāng)機立斷,披上浸濕的衣服或裹上濕毛毯、濕被褥勇敢地沖出去722 二叉樹的性質(zhì)二叉樹的性質(zhì)v二叉樹的第二叉樹的第I 層上最多有層上最多有2i-1個結(jié)點個結(jié)點v在深度為在深度為k的二叉樹中,最大
5、結(jié)點數(shù)為的二叉樹中,最大結(jié)點數(shù)為2k-1個結(jié)點個結(jié)點v二叉樹中,若葉子結(jié)點數(shù)為二叉樹中,若葉子結(jié)點數(shù)為n0,度為,度為2的結(jié)點數(shù)為的結(jié)點數(shù)為n2,則有,則有n0=n2+1v若一棵完全二叉樹有有若一棵完全二叉樹有有n個結(jié)點,則其深度為個結(jié)點,則其深度為k=log2n+1v一棵深度為一棵深度為k的滿二叉樹是具有的滿二叉樹是具有2k-1個結(jié)點的二叉樹。個結(jié)點的二叉樹。對滿二叉樹進行編號,從根結(jié)點開始,自上而下,自左到右編號。對滿二叉樹進行編號,從根結(jié)點開始,自上而下,自左到右編號。若一棵具有若一棵具有n個結(jié)點深度為個結(jié)點深度為k的二叉樹,若每個結(jié)點都與深度為的二叉樹,若每個結(jié)點都與深度為k的的滿二叉
6、樹編號為滿二叉樹編號為1n一一對應(yīng),則稱此二叉樹為一一對應(yīng),則稱此二叉樹為完全二叉樹完全二叉樹。v若將一棵具有若將一棵具有n個結(jié)點的完全二叉樹,對于編號為個結(jié)點的完全二叉樹,對于編號為i的結(jié)點,有如下的結(jié)點,有如下特點:特點:若i=1,則i為根結(jié)點,無雙親;否則i結(jié)點的雙親編號為i/2的結(jié)點。若2in,則i的左孩子編號為2i,否則i無左孩子。若2i+1n,則i的右孩子編號為2i+1,否則i無右孩子?;馂?zāi)襲來時要迅速疏散逃生,不可蜂擁而出或留戀財物,要當(dāng)機立斷,披上浸濕的衣服或裹上濕毛毯、濕被褥勇敢地沖出去7.3 二叉樹的存儲結(jié)構(gòu)二叉樹的存儲結(jié)構(gòu)v 二叉樹的順序存儲結(jié)構(gòu)二叉樹的順序存儲結(jié)構(gòu)(適合
7、于完全二叉樹適合于完全二叉樹)非完全二叉樹的順序存儲結(jié)構(gòu)如下圖 火災(zāi)襲來時要迅速疏散逃生,不可蜂擁而出或留戀財物,要當(dāng)機立斷,披上浸濕的衣服或裹上濕毛毯、濕被褥勇敢地沖出去7.3 二叉樹的存儲結(jié)構(gòu)二叉樹的存儲結(jié)構(gòu)v二叉樹的鏈?zhǔn)酱鎯Y(jié)構(gòu)二叉樹的鏈?zhǔn)酱鎯Y(jié)構(gòu) 二叉鏈?zhǔn)芥準(zhǔn)酱鎯Y(jié)構(gòu)的每個結(jié)點包含三個域:Root指向二叉樹的根結(jié)點。若二叉樹為空,則root=null。在一棵有n個結(jié)點的鏈?zhǔn)酱鎯Φ亩鏄渲?,有n+1個空鏈域。dataleftChildrightChild火災(zāi)襲來時要迅速疏散逃生,不可蜂擁而出或留戀財物,要當(dāng)機立斷,披上浸濕的衣服或裹上濕毛毯、濕被褥勇敢地沖出去7.3 二叉樹的存儲結(jié)構(gòu)二叉
8、樹的存儲結(jié)構(gòu)(1)不帶頭結(jié)點的二叉樹不帶頭結(jié)點的二叉樹;(2)帶頭結(jié)點的二叉樹帶頭結(jié)點的二叉樹ABCDEFG (a)ABCDEFG (b)rootroot 火災(zāi)襲來時要迅速疏散逃生,不可蜂擁而出或留戀財物,要當(dāng)機立斷,披上浸濕的衣服或裹上濕毛毯、濕被褥勇敢地沖出去7.3 二叉樹的存儲結(jié)構(gòu)二叉樹的存儲結(jié)構(gòu)v聲明二叉樹類聲明二叉樹類 二叉樹的結(jié)點類二叉樹的結(jié)點類 Package ds_java;Public class treenodel Public string data;Public treenode1 left,right;Public treenode1()This(“?”);Publi
- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
20 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)結(jié)構(gòu) JAVA 課件 ppt