1,二叉樹的轉殖操作:
1,sharedpointer< btree> clone() const:
1,轉殖當前樹的乙份拷貝;
2,返回值為堆空間中的一棵新二叉樹(與當前樹相等):
1,儲存資料元素,樹的屬性一模一樣;
2,二叉樹的轉殖的實現:
1,定義功能:clone(node)
1,拷貝 node 為根結點的二叉樹(資料元素在對應位置相等);
2,功能函式**實現:
13,轉殖成員函式**實現:/*實現遞迴轉殖函式,這個函式實現了結點之間的鏈結
*/2 btreenode* clone(btreenode* node) const320
21if( ret->right != null ) //
右子樹不為空,指定父子關係
2225}26
else
2730}31
32return
ret;
33 }
13,二叉樹比較操作的定義:/*轉殖乙個二叉樹
*/2 sharedpointer< btree> clone() const310
else
1114
15return
ret;
16 }
1,判斷兩棵二叉樹中的資料元素是否對應相等(遞迴的實現):
1,bool operator == (const btree& btree)
2,bool operator != (const btree& btree)
1,二叉樹的比較是遞迴進行的,因此要定義具體的相等功能;
4,二叉樹的比較的實現:
1,定義功能:equal(lh, rh)
1,判斷 lh 為根結點的二叉樹與 rh 為根結點的二叉樹是否相等;
2,功能函式**實現:
13,相等和不等操作符過載的**實現:/*實現兩顆二叉樹是否相等的遞迴功能函式,引數為兩個根結點*/2
bool equal(btreenode* lh, btreenode* rh) const38
else
if( (lh != null) && (rh !=null) )
9
12else
1316 }
15,二叉樹的相加操作:/*兩個二叉樹相等 */2
bool
operator == (const btree&btree)36
7/*兩顆二叉樹不相等 */8
bool
operator != (const btree&btree)
9
1,將當前二叉樹與引數 btree 中的資料元素在對應位置處相加;
2,返回值(相加的結果)為堆空間中的一棵新二叉樹;
6,二叉樹加法的實現:
1,定義功能:add(lh, rh)
1,將 lh 為根結點的二叉樹與 rh 為根結點的二叉樹相加;
2,前兩中情況剛好對應了小樹和大樹相加中,小樹部分為空、大樹部分不為空的情形;
2,功能函式**實現:
13,相加成員函式**實現:/*兩顆二叉樹相加的功能函式
*/2 btreenode* add(btreenode* lh, btreenode* rh) const310
else
if( (lh != null) && (rh ==null) )
1114
else
if( (lh != null) && (rh !=null) )
1528
29if( ret->right != null ) //
右子樹父結點設定為當前的結點
3033}34
else
3538}39
40return
ret;
41 }
17,小結:/*執行加法操作
*/2 sharedpointer< btree> add(const btree& btree) const39
else
1013
return
ret;
14 }
1,比較操作判斷兩棵二叉樹中的資料元素是否對應相等;
2,轉殖操作將當前二叉樹在堆空間中進行複製;
3,相加操作將兩棵二叉樹中的資料元素在對應位置處相加;
4,相加操作的結果儲存在堆空間的一棵二叉樹中;
二叉樹的轉殖 比較與相加
目錄 1 二叉樹的轉殖操作 2 二叉樹比較操作的定義 3 二叉樹的相加操作 二叉樹的轉殖操作 sharedpointer btree clone const 轉殖當前樹的乙份拷貝 返回值為堆空間中的一棵新二叉樹 與當前樹相等 二叉樹的轉殖 定義功能 clone node 功能 拷貝 node 為根結...
轉殖二叉樹
題目 深度複製乙個二叉樹。給定乙個二叉樹,返回乙個他的 轉殖品 樣例給定乙個二叉樹 1 2 3 4 5返回其相同結構相同數值的轉殖二叉樹 1 2 3 4 5 思路 建立乙個新節點存放當前給出的節點的值,新建的左節點等於給出的左節點,新建的有節點等於給出的右節點,依次遞迴下去。class soluti...
轉殖二叉樹
問題描述 深度複製乙個二叉樹。給定乙個二叉樹,返回乙個他的 轉殖品 樣例 給定乙個二叉樹 1 2 3 4 5返回其相同結構相同數值的轉殖二叉樹 1 2 3 4 5 實現思路 運用遞迴演算法,採用前序遍曆法遍歷二叉樹的每乙個節點,並同時建立乙個新節點,並將值賦給這個新節點。實現 definition ...