二叉樹的拷貝構造方法與先序中序構造二叉樹

2021-08-29 23:44:05 字數 1060 閱讀 1888

我一開始將二叉樹的拷貝構造方法的主體寫在了binarytree中,但是具體的實現還是呼叫了樹節點類中的方法

感覺不是特別好,但是沒想怎麼在類內實現

//binarytree

public

binarytree

(binarytree

p)

//binarynode

void

binarytreecopy

(binarynode

p)else

this

.left=null;

//否則給空

if(p.right!=null)

else

this

.right=null;

}}

既然有兩種序列,那麼一定要有先根序列的子樹的起點和終點,同理中根序列也要有兩個引數來表明,那麼在進行構造的時候就一定要有先序陣列,先序的起點終點,中序陣列,中序的起點終點,六個引數。少乙個都不能唯一確定一棵二叉樹。先序中序構造二叉樹的詳細流程

下面是實現的**

public

binarytree

(t prelist[

], t inlist)

public binarynode

create

(t prelist,t[

]inlist,

int prestart,

int preend,

int instart,

int inend)

return p;

}

構造方法的重點是四個位置的確定。

想得到不一定寫的出,寫的出不一定跑得起來,跑得起來不一定有正確結果。。

多單步除錯吧,多用筆,畫草圖,總比死定螢幕好(手動滑稽)

雙笙的歌一直炒雞好聽

摸魚

寫個小遊戲,就是一直bug。。。沒調。。。介面也很醜,好的,下期再見

構造二叉樹 先序 中序 後序 中序

牛客網 給出一棵樹的前序遍歷和中序遍歷,請構造這顆二叉樹 注意 可以假設樹中不存在重複的節點 先遍歷的第乙個數是根節點,中序遍歷的根節點左邊是左子樹,右邊是右子樹。通過先序遍歷遍歷找到根結點,通過中序中根結點的位置可以將樹劃分成兩個子樹,然後遞迴的進行呼叫即可構造好二叉樹。definition fo...

已知中序與後序,或者中序與先序,構造二叉樹

name 已知中序與後序,或者中序與先序,構造二叉樹 author goal00001111 date 08 12 08 11 42 description 描述 description 給出一棵二叉樹的中序與後序排列。求出它的先序排列。給出一棵二叉樹的中序與先序排列。求出它的後序排列。includ...

先序中序重建二叉樹

includeusing namespace std vectorpre,in int p typedef struct node vectorpost int rec int l,int r 通過前序和後序得到樹 int main for int i 0 i tem in.push back te...