版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)任課教師:劉晉萍Email:785297343@QQ:
785297343第六講樹(shù)和二叉樹(shù)樹(shù)的基本概念樹(shù)的定義樹(shù)的基本術(shù)語(yǔ)二叉樹(shù)二叉樹(shù)的定義二叉樹(shù)的性質(zhì)二叉樹(shù)的基本操作二叉樹(shù)的存儲(chǔ)結(jié)構(gòu)二叉樹(shù)的遍歷樹(shù)與二叉樹(shù)樹(shù)與二叉樹(shù)的轉(zhuǎn)換樹(shù)的遍歷二叉樹(shù)的遍歷二叉樹(shù)的遍歷二叉樹(shù)遍歷的概念二叉樹(shù)的遍歷二叉樹(shù)遍歷的概念二叉樹(shù)遍歷的方法二叉樹(shù)的遍歷二叉樹(shù)遍歷的概念二叉樹(shù)遍歷的方法二叉樹(shù)遍歷的應(yīng)用二叉樹(shù)的遍歷二叉樹(shù)遍歷的概念二叉樹(shù)遍歷的方法二叉樹(shù)遍歷的應(yīng)用二叉樹(shù)遍歷的實(shí)現(xiàn)算法結(jié)束二叉樹(shù)遍歷的概念遍歷的含義訪問(wèn)結(jié)構(gòu)中的所有元素且只訪問(wèn)一次二叉樹(shù)遍歷的定義按一定規(guī)律對(duì)二叉樹(shù)中每個(gè)結(jié)點(diǎn)訪問(wèn)且僅訪問(wèn)一次二叉樹(shù)遍歷的目的在對(duì)二叉樹(shù)的很多處理中,需要二叉樹(shù)結(jié)點(diǎn)的一個(gè)線性序列實(shí)質(zhì)而言,遍歷的目的就是對(duì)二叉樹(shù)進(jìn)行線性化處理,以得到一個(gè)結(jié)點(diǎn)的線性序列對(duì)二叉樹(shù)處理而言,遍歷的目的是為二叉樹(shù)的其他運(yùn)算奠定基礎(chǔ)非線性結(jié)構(gòu)遍歷結(jié)點(diǎn)的訪問(wèn)序列線性化回去二叉樹(shù)遍歷的方法有哪些方法二叉樹(shù)由三個(gè)基本部分組成:根結(jié)點(diǎn)
左子樹(shù)
右子樹(shù)遍歷二叉樹(shù)實(shí)質(zhì)就是完成如下三項(xiàng)工作:訪問(wèn)根結(jié)點(diǎn)D遍歷左子樹(shù)L遍歷右子樹(shù)R這三項(xiàng)工作按順序組合可以得到6種遍歷方案:DLRDRLLDRRDLLRDRLD對(duì)這6種方案加上“先左后右”的限定,則得到如下3種遍歷方案:DLR稱為先(根)序遍歷LDR稱為中(根)序遍歷LRD稱為后(根)序遍歷遍歷方法的描述根左子樹(shù)右子樹(shù)看圖路徑DLRDRLLDRRDLLRDRLDDLRDRLLDRRDLLRDRLDDLR
DRLLDRRDLLRDRLDDLR
DRL
LDR
RDL
LRD
RLD訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)、遍歷右子樹(shù)訪問(wèn)根結(jié)點(diǎn)、遍歷右子樹(shù)、遍歷左子樹(shù)遍歷左子樹(shù)、訪問(wèn)根結(jié)點(diǎn)、遍歷右子樹(shù)遍歷右子樹(shù)、訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)遍歷左子樹(shù)、遍歷右子樹(shù)、訪問(wèn)根結(jié)點(diǎn)遍歷右子樹(shù)、遍歷左子樹(shù)、訪問(wèn)根結(jié)點(diǎn)回去二叉樹(shù)遍歷的方法有哪些方法二叉樹(shù)由三個(gè)基本部分組成:根結(jié)點(diǎn)
左子樹(shù)
右子樹(shù)遍歷二叉樹(shù)實(shí)質(zhì)就是完成如下三項(xiàng)工作:訪問(wèn)根結(jié)點(diǎn)D遍歷左子樹(shù)L遍歷右子樹(shù)R這三項(xiàng)工作按順序組合可以得到6種遍歷方案:DLRDRLLDRRDLLRDRLD對(duì)這6種方案加上“先左后右”的限定,則得到如下3種遍歷方案:DLR稱為先(根)序遍歷LDR稱為中(根)序遍歷LRD稱為后(根)序遍歷遍歷方法的描述根左子樹(shù)右子樹(shù)看圖三種遍歷方案的遍歷路徑一樣,只是訪問(wèn)根結(jié)點(diǎn)的時(shí)機(jī)不同二叉樹(shù)遍歷的方法有哪些方法遍歷方法的描述先序遍歷二叉樹(shù)若二叉樹(shù)為空,則空操作;否則
(1)訪問(wèn)根結(jié)點(diǎn);
(2)先序遍歷左子樹(shù);
(3)先序遍歷右子樹(shù)。中序遍歷二叉樹(shù)若二叉樹(shù)為空,則空操作;否則
(1)中序遍歷左子樹(shù);
(2)訪問(wèn)根結(jié)點(diǎn);
(3)中序遍歷右子樹(shù)。后序遍歷二叉樹(shù)若二叉樹(shù)為空,則空操作;否則
(1)后序遍歷左子樹(shù);
(2)后序遍歷右子樹(shù);(3)訪問(wèn)根結(jié)點(diǎn)。根左子樹(shù)右子樹(shù)看例先序序列中序序列后序序列(根、左、右)(左、根、右)(左、右、根)二叉樹(shù)遍歷方法例1先序序列中序序列后序序列ABCDEFGHK待遍歷的二叉樹(shù)根右子樹(shù)左子樹(shù)ABCEFGDHK回去CDBAEHGKFDCBHKGFEA二叉樹(shù)遍歷的應(yīng)用輸出二叉樹(shù)中的所有結(jié)點(diǎn)輸出二叉樹(shù)中的葉子結(jié)點(diǎn)求二叉樹(shù)的深度對(duì)每一個(gè)應(yīng)用問(wèn)題:確定“訪問(wèn)”的具體操作是什么分析對(duì)遍歷順序的要求,確定用先序遍歷、中序遍歷還是后序遍歷給出解決問(wèn)題的算法描述思考練習(xí):用何種遍歷實(shí)現(xiàn)對(duì)二叉樹(shù)左右子樹(shù)的交換?在交換二叉樹(shù)左右子樹(shù)的遍歷中,“訪問(wèn)”操作是什么?寫出一個(gè)實(shí)現(xiàn)二叉樹(shù)左右子樹(shù)交換的算法描述?;厝ハ刃虮闅v二叉樹(shù)若二叉樹(shù)為空,則空操作;
否則,依次做如下操作:
(1)訪問(wèn)根結(jié)點(diǎn);
(2)先序遍歷左子樹(shù);
(3)先序遍歷右子樹(shù)。輸出二叉樹(shù)中的所有結(jié)點(diǎn)分析:該問(wèn)題需要對(duì)二叉樹(shù)進(jìn)行遍歷,即:對(duì)所有結(jié)點(diǎn)進(jìn)行“訪問(wèn)”,且只訪問(wèn)一次這里的“訪問(wèn)”就是“結(jié)點(diǎn)的輸出”“訪問(wèn)”順序的確定只要能對(duì)所有結(jié)點(diǎn)進(jìn)行輸出,沒(méi)有結(jié)點(diǎn)輸出順序的要求,因此,按先序、中序和后序都可以這里以先序?yàn)槔惴枋觯ɑ谙刃虮闅v)若二叉樹(shù)為空,則空操作;否則,依次做如下操作:
(1)輸出根結(jié)點(diǎn);
(2)輸出左子樹(shù)中的所有結(jié)點(diǎn);
(3)輸出右子樹(shù)中的所有結(jié)點(diǎn)。思考:若基于中序遍歷或基于后序遍歷,則該問(wèn)題的算法應(yīng)該是怎樣的?看例子回去基于中序遍歷基于后序遍歷輸出二叉樹(shù)中的所有結(jié)點(diǎn)算法描述(基于中序遍歷)若二叉樹(shù)為空,則空操作;否則,依次做如下操作:
(1)輸出左子樹(shù)中的所有結(jié)點(diǎn);
(2)輸出根結(jié)點(diǎn);
(3)輸出右子樹(shù)中的所有結(jié)點(diǎn)。中序遍歷二叉樹(shù)若二叉樹(shù)為空,則空操作;
否則,依次做如下操作:
(1)中序遍歷左子樹(shù);
(2)訪問(wèn)根結(jié)點(diǎn);
(3)中序遍歷右子樹(shù)?;厝ポ敵龆鏄?shù)中的所有結(jié)點(diǎn)算法描述(基于后序遍歷)若二叉樹(shù)為空,則空操作;否則,依次做如下操作:
(1)輸出左子樹(shù)中的所有結(jié)點(diǎn);
(2)輸出右子樹(shù)中的所有結(jié)點(diǎn);
(3)輸出根結(jié)點(diǎn)。后序遍歷二叉樹(shù)若二叉樹(shù)為空,則空操作;
否則,依次做如下操作:
(1)后序遍歷左子樹(shù);
(2)后序遍歷右子樹(shù);
(3)訪問(wèn)根結(jié)點(diǎn)?;厝ポ敵龆鏄?shù)中的所有結(jié)點(diǎn)例ABCEFGDHK待輸出的二叉樹(shù)基于先序遍歷結(jié)點(diǎn)的輸出序列:ABCDEFGHK基于中序遍歷結(jié)點(diǎn)的輸出序列:基于后序遍歷結(jié)點(diǎn)的輸出序列:CDBAEHGKFDCBHKGFEA回去輸出二叉樹(shù)中的葉子結(jié)點(diǎn)分析:該問(wèn)題需要對(duì)二叉樹(shù)中所有結(jié)點(diǎn)進(jìn)行“訪問(wèn)”,且只訪問(wèn)一次這里的“訪問(wèn)”是“帶判斷的輸出”,也就是:“是葉子結(jié)點(diǎn)就輸出”“訪問(wèn)”順序的確定只要能對(duì)所有葉子結(jié)點(diǎn)進(jìn)行輸出,沒(méi)有結(jié)點(diǎn)輸出順序的要求,因此,按先序、中序和后序都可以算法描述若二叉樹(shù)為空,則空操作;否則,依次做如下操作:(1)如果根結(jié)點(diǎn)既沒(méi)有左孩子也沒(méi)有右孩子,則輸出根結(jié)點(diǎn)(2)輸出左子樹(shù)中的葉子結(jié)點(diǎn)(3)輸出右子樹(shù)中的葉子結(jié)點(diǎn)算法描述(基于中序遍歷)算法描述(基于后序遍歷)(基于先序遍歷)思考:該算法是基于先序的?中序的?還是后序的?看例子(1)如果根結(jié)點(diǎn)是葉子結(jié)點(diǎn),則輸出根結(jié)點(diǎn)?;厝ポ敵龆鏄?shù)中的葉子結(jié)點(diǎn)分析:該問(wèn)題需要對(duì)二叉樹(shù)中所有結(jié)點(diǎn)進(jìn)行“訪問(wèn)”,且只訪問(wèn)一次這里的“訪問(wèn)”是“判斷+輸出”,也就是:“是葉子結(jié)點(diǎn)就輸出”需要按某種順序進(jìn)行“訪問(wèn)”只要能對(duì)所有葉子結(jié)點(diǎn)進(jìn)行輸出,沒(méi)有結(jié)點(diǎn)輸出順序的要求,因此,按先序、中序和后序都可以算法描述若二叉樹(shù)為空,則空操作;否則,依次做如下操作:(1)如果當(dāng)前二叉樹(shù)的根既沒(méi)有左孩子也沒(méi)有右孩子,則輸出根結(jié)點(diǎn)(2)輸出左子樹(shù)中的葉子結(jié)點(diǎn)(3)輸出右子樹(shù)中的葉子結(jié)點(diǎn)算法描述(基于中序遍歷)算法描述(基于后序遍歷)(基于先序遍歷)看例子輸出二叉樹(shù)中的葉子結(jié)點(diǎn)分析:該問(wèn)題需要對(duì)二叉樹(shù)中所有結(jié)點(diǎn)進(jìn)行“訪問(wèn)”,且只訪問(wèn)一次這里的“訪問(wèn)”是“判斷+輸出”,也就是:“是葉子結(jié)點(diǎn)就輸出”需要按某種順序進(jìn)行“訪問(wèn)”只要能對(duì)所有葉子結(jié)點(diǎn)進(jìn)行輸出,沒(méi)有結(jié)點(diǎn)輸出順序的要求,因此,按先序、中序和后序都可以算法描述算法描述(基于中序遍歷)若二叉樹(shù)為空,則空操作;否則,依次做如下操作:(1)輸出左子樹(shù)中的葉子結(jié)點(diǎn)(2)如果當(dāng)前二叉樹(shù)的根既沒(méi)有左孩子也沒(méi)有右孩子,則輸出根結(jié)點(diǎn)(3)輸出右子樹(shù)中的葉子結(jié)點(diǎn)算法描述(基于后序遍歷)(基于先序遍歷)看例子輸出二叉樹(shù)中的葉子結(jié)點(diǎn)分析:該問(wèn)題需要對(duì)二叉樹(shù)中所有結(jié)點(diǎn)進(jìn)行“訪問(wèn)”,且只訪問(wèn)一次這里的“訪問(wèn)”是“判斷+輸出”,也就是:“是葉子結(jié)點(diǎn)就輸出”需要按某種順序進(jìn)行“訪問(wèn)”只要能對(duì)所有葉子結(jié)點(diǎn)進(jìn)行輸出,沒(méi)有結(jié)點(diǎn)輸出順序的要求,因此,按先序、中序和后序都可以算法描述算法描述(基于中序遍歷)算法描述(基于后序遍歷)若二叉樹(shù)為空,則空操作;否則,依次做如下操作:(1)輸出左子樹(shù)中的葉子結(jié)點(diǎn)(2)輸出右子樹(shù)中的葉子結(jié)點(diǎn)(3)如果當(dāng)前二叉樹(shù)的根既沒(méi)有左孩子也沒(méi)有右孩子,則輸出根結(jié)點(diǎn)(基于先序遍歷)看例子輸出二叉樹(shù)中的葉子結(jié)點(diǎn)例ABCEFGDHK待輸出的二叉樹(shù)基于先序遍歷葉子結(jié)點(diǎn)的輸出序列:DHKDHKDHK基于后序遍歷葉子結(jié)點(diǎn)的輸出序列:基于中序遍歷葉子結(jié)點(diǎn)的輸出序列:思考:輸出二叉樹(shù)葉子結(jié)點(diǎn)的算法,不論基于先序、中序和后序,葉子結(jié)點(diǎn)的輸出順序都一樣嗎?為什么?回去求二叉樹(shù)的深度二叉樹(shù)深度的定義:結(jié)點(diǎn)的最大層次數(shù)MAX{左子樹(shù)的深度,右子樹(shù)的深度}+1求二叉樹(shù)深度的算法描述:若二叉樹(shù)為空,則返回0;否則,依次做如下操作:求左子樹(shù)的深度lh求右子樹(shù)的深度rh返回max{lh,rh}+1思考:基于什么遍歷順序后序遍歷這里,對(duì)結(jié)點(diǎn)訪問(wèn)的操作是什么求以該結(jié)點(diǎn)為根的二叉樹(shù)的深度根左子樹(shù)右子樹(shù)lhrh二叉樹(shù)的深度?二叉樹(shù)的深度=MAX{lh,rh}+1看例子回去思考:根據(jù)”二叉樹(shù)的深度=MAX{lh,rh}+1“這個(gè)定義,求二叉樹(shù)深度能否按先序或中序進(jìn)行?為什么?求二叉樹(shù)的深度例求二叉樹(shù)深度的算法描述:若二叉樹(shù)為空,則返回0;否則,依次做如下操作:求左子樹(shù)的深度lh求右子樹(shù)的深度rh返回max{lh,rh}+1ABCEFGDHK0120003000000112345回去思考與練習(xí)交換二叉樹(shù)的左右子樹(shù)用何種遍歷實(shí)現(xiàn)對(duì)二叉樹(shù)左右子樹(shù)的交換?在交換二叉樹(shù)左右子樹(shù)的遍歷中,”訪問(wèn)“操作是什么?寫出一個(gè)實(shí)現(xiàn)二叉樹(shù)左右子樹(shù)交換的算法描述根據(jù):二叉樹(shù)的深度=MAX{lh,rh}+1
這個(gè)定義,求二叉樹(shù)深度能否按先序或中序進(jìn)行?為什么?輸出二叉樹(shù)葉子結(jié)點(diǎn)的算法,不論基于先序、中序和后序,葉子結(jié)點(diǎn)的輸出順序都一樣嗎?為什么?二叉樹(shù)遍歷的實(shí)現(xiàn)算法先序遍歷的遞歸實(shí)現(xiàn)算法中序遍歷的遞歸實(shí)現(xiàn)算法后序遍歷的遞歸實(shí)現(xiàn)算法解決應(yīng)用問(wèn)題的實(shí)現(xiàn)算法返回P7先序遍歷的遞歸實(shí)現(xiàn)算法先序遍歷以root為根的二叉樹(shù)void
PreOrder(BiTree
root){
if(root!=NULL)
{
Visit(root->data);
/*訪問(wèn)根結(jié)點(diǎn)*/
PreOrder(root->lchild);
/*先序遍歷左子樹(shù)*/
PreOrder(root->rchild);
/*先序遍歷右子樹(shù)*/
}}返回P26中序遍歷的遞歸實(shí)現(xiàn)算法中序遍歷以root為根的二叉樹(shù)void
InOrder(BiTree
root)
{
if(root!=NULL)
{
InOrder(root->lchild);
/*中序遍歷左子樹(shù)*/
Visit(root->data);
/*訪問(wèn)根結(jié)點(diǎn)*/
InOrder(root->rchild);
/*中序遍歷右子樹(shù)*/
}}返回P26后序遍歷的遞歸實(shí)現(xiàn)算法后序遍歷以root為根的二叉樹(shù)void
PostOrder(BiTree
root)
{
if(root!=NULL)
{
PostOrder(root->lchild);/*后序遍歷左子樹(shù)*/
PostOrder(root->rchild);/*后序遍歷右子樹(shù)*
Visit(root->data);
/*訪問(wèn)根結(jié)點(diǎn)*/
}}返回P26解決應(yīng)用問(wèn)題的實(shí)現(xiàn)算法輸出二叉樹(shù)中結(jié)點(diǎn)的實(shí)現(xiàn)算法輸出二叉樹(shù)中葉子結(jié)點(diǎn)的實(shí)現(xiàn)算法求二叉樹(shù)深度的實(shí)現(xiàn)算法二叉樹(shù)的創(chuàng)建算法算法閱讀返回P26輸出二叉樹(shù)中結(jié)點(diǎn)的實(shí)現(xiàn)算法輸出以root為根的二叉樹(shù)中的結(jié)點(diǎn)?;谙刃虮闅v的實(shí)現(xiàn)算法void
OutBiTree(BiTree
root){
if(root!=NULL)
{
printf(root->data);
/*輸出根結(jié)點(diǎn)*/
OutBiTree(root->lchild);
/*輸出左子樹(shù)中的結(jié)點(diǎn)*/
OutBiTree(root->rchild);
/*輸出右子樹(shù)中的結(jié)點(diǎn)*/
}}返回P30輸出二叉樹(shù)中葉子結(jié)點(diǎn)的實(shí)現(xiàn)算法輸出以root為根的二叉樹(shù)中葉子結(jié)點(diǎn)基于先序遍歷的實(shí)現(xiàn)算法void
OutLeaf(BiTree
root){
if(root!=NULL)
{
if(root->lchild==NULL&&root->rchild==NULL)
printf(root->data);
/*輸出葉子結(jié)點(diǎn)*/
OutLeaf(root->lchild);
/*輸出左子樹(shù)中的葉子結(jié)點(diǎn)*/
OutLeaf(root->rchild);
/*輸出右子樹(shù)中的葉子結(jié)點(diǎn)*/
}}返回P30求二叉樹(shù)深度的實(shí)現(xiàn)算法求以root為根的二叉樹(shù)的深度int
BiTreeDepth(BiTree
root)
{
if(root!=NULL)
{
hl=BiTreeDepth(root->lchild);
/*求左子樹(shù)的深度*/
hr=BiTreeDepth(root->rchild);
/*求右子樹(shù)的深度*/max=hl>hr?hl:hr;
/*得到左、右子樹(shù)深度較大者*/return(max+1);
/*返回樹(shù)的深度*/
}
elsereturn(0);
/*如果是空樹(shù),則返回0*/}返回P30關(guān)于二叉樹(shù)的創(chuàng)建給定一棵二叉樹(shù),可以得到它的遍歷序列反之,給定一棵二叉樹(shù)的遍歷序列,也可以畫出該二叉樹(shù)能畫出就意味著能創(chuàng)建二叉樹(shù)已知二叉樹(shù)的“擴(kuò)展的遍歷序列,畫出該二叉樹(shù)在二叉樹(shù)的遍歷序列中,用特定的元素表示空子樹(shù),就得到相應(yīng)的擴(kuò)展遍歷序列例如,下圖
中二叉樹(shù)的“擴(kuò)展先序遍歷序列”為:AB.DF..G..C.E.H..(這里以‘.’表示空子樹(shù))繼續(xù)關(guān)于二叉樹(shù)的創(chuàng)建畫出擴(kuò)展先序序列為:ACF.GK..H…B.FE…
的二叉樹(shù)將此過(guò)程作為創(chuàng)建二叉樹(shù)的過(guò)程,即:創(chuàng)建二叉鏈表的過(guò)程則對(duì)應(yīng)此過(guò)程的實(shí)現(xiàn)算法見(jiàn):“利用‘?dāng)U展先序遍歷序列‘創(chuàng)建二叉鏈表的算法”ACFBFGEKH繼續(xù)利用“擴(kuò)展先序遍歷序列”創(chuàng)建二叉鏈表的算法voidCreateBiTree(BiTree
&root){
ch=getchar();
if(ch=='.')root=NULL;
else{root=(BiTree)malloc(sizeof(BiTNode));
root->data=ch;
CreateBiTree(root->lchild);
CreateBiTree(root->rchild);
}}繼續(xù)ABFECFGKHrootACF.GK..H…B.FE…關(guān)于二叉樹(shù)的創(chuàng)建已知某二叉樹(shù)的先序序列和中序序列如下:先序序列:ABDGCEHF
中序序列:BGDAEHCF
畫出該二叉樹(shù),并寫出其后序序列。ABDGCEFH后序序列:GDBHEFCA由先序序列確定根是A由中序序列確定:(1)A有左、右子樹(shù);(2)左子樹(shù)中的結(jié)點(diǎn)有BDG;右子樹(shù)中的結(jié)點(diǎn)有CEFH再由先序序列確定左子樹(shù)的結(jié)點(diǎn)BDG中B是根由中序序列確定B沒(méi)有左子樹(shù),但有右子樹(shù),其中右子樹(shù)中的結(jié)點(diǎn)有DG依此類推,直到A的左子樹(shù)的結(jié)構(gòu)確定。用同樣的方法分析右子樹(shù)的結(jié)構(gòu)。繼續(xù)關(guān)于二叉樹(shù)的創(chuàng)建已知某二叉樹(shù)的中序序列和后序序列如下:中序序列:EGHCFAD
后序序列:EGCADFH
畫出該二叉樹(shù),并寫出其先序序列。由后序序列確定根是H由中序序列確定:(1)H有左、右子樹(shù);(2)左子樹(shù)中的結(jié)點(diǎn)有GE;右子樹(shù)中的結(jié)點(diǎn)有FDCA再由后序序列確定左子樹(shù)的結(jié)點(diǎn)GE中G是根,由中序序列確定G有左子樹(shù),但沒(méi)有右子樹(shù),其中左子樹(shù)中的結(jié)點(diǎn)有E。用同樣的方法分析右子樹(shù)的結(jié)構(gòu):根:F且F有左子樹(shù),也有右子樹(shù)。左子樹(shù)有結(jié)點(diǎn):C右子樹(shù)有結(jié)點(diǎn):DA……先序序列:HGEFCDAHGFEDCA繼續(xù)關(guān)于二叉樹(shù)的創(chuàng)建思考:利用二叉樹(shù)的先序和中序或者中序和后序,創(chuàng)建該二叉樹(shù)對(duì)應(yīng)的二叉鏈表的過(guò)程,給出算法
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園演講稿合集十篇
- 2025版舊科研設(shè)備買賣與專利技術(shù)保護(hù)合同3篇
- 二零二五年度個(gè)人房屋建筑施工安全管理承包協(xié)議2篇
- 教師辭職報(bào)告范文(范例14篇)
- 網(wǎng)絡(luò)工程合同書范本
- 2025年度無(wú)線藍(lán)牙耳機(jī)線上線下銷售合作協(xié)議3篇
- 高壓柜檢修合同
- 員工離職申請(qǐng)書模板集錦九篇
- 二零二五年大數(shù)據(jù)分析服務(wù)合同協(xié)議書2篇
- 2025版建筑工程投資合伙協(xié)議(含合同續(xù)簽)3篇
- 山東各市2022年中考物理試題及答案
- 華為認(rèn)證智能協(xié)作中級(jí)HCIP-CollaborationH11-861考試題及答案
- 2024年中國(guó)紅菜薹市場(chǎng)調(diào)查研究報(bào)告
- 2024年威海市120急救指揮中心招考調(diào)度員高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 報(bào)建協(xié)議書模板
- 山東虛擬電廠商業(yè)模式介紹
- 2024至2030年中國(guó)鈦行業(yè)“十四五”分析及發(fā)展前景預(yù)測(cè)研究分析報(bào)告
- 2024至2030年中國(guó)步進(jìn)式光刻機(jī)市場(chǎng)現(xiàn)狀研究分析與發(fā)展前景預(yù)測(cè)報(bào)告
- 30 《岳陽(yáng)樓記》對(duì)比閱讀-2024-2025中考語(yǔ)文文言文閱讀專項(xiàng)訓(xùn)練(含答案)
- 職域行銷BBC模式開(kāi)拓流程-企業(yè)客戶營(yíng)銷技巧策略-人壽保險(xiǎn)營(yíng)銷實(shí)戰(zhàn)-培訓(xùn)課件
- 《活板-沈括》核心素養(yǎng)目標(biāo)教學(xué)設(shè)計(jì)、教材分析與教學(xué)反思-2023-2024學(xué)年初中語(yǔ)文統(tǒng)編版
評(píng)論
0/150
提交評(píng)論