二叉樹的轉殖 比較與相加

2021-08-20 09:41:41 字數 3540 閱讀 8295

目錄

1、二叉樹的轉殖操作 

2、二叉樹比較操作的定義 

3、二叉樹的相加操作 

二叉樹的轉殖操作

-sharedpointer

< btree

> clone() const 

● 轉殖當前樹的乙份拷貝 

● 返回值為堆空間中的一棵新二叉樹(與當前樹相等)

二叉樹的轉殖

-定義功能: clone(node) 

功能: 拷貝 

node 

為根結點的二叉樹(資料元素在對應位置相等)

程式設計實驗

二叉樹的轉殖 clone() 

二叉樹比較操作的定義-判斷兩棵二叉樹中的資料元素是否對應相等 

二叉樹的比較

-定義功能: equal(lh ,  rh) 

功能: 判斷 

lh 為根結點的二叉樹與 

rh 為根結點的二叉樹是否相等

程式設計實驗

二叉樹的相等比較     equal() 

btree.h

template < typename t >

class btree : public tree

else if((lh != null) && (rh != null))

else

}public:

// ...

bool operator == (btree& btree)

bool operator != (btree& btree)

// ...

};

main.cpp

cout << "*sp == bt : " << (*sp == bt) << endl;
二叉樹的相加操作-sharedpointer

< btree

> add( const

btree

& btree) const 

● 將當前二叉樹與引數 btree 中的資料元素在

對應位置處相加

● 返回值(相加的結果)為堆空間中的

一棵新二叉樹 

二叉樹的加法

-定義功能: add(lh, rh) 

功能: 將 

lh 為根結點的二叉樹與 

rh 為根結點的二叉樹相加 

程式設計實驗

二叉樹的相加     add() 

btree.h

template < typename t >

class btree : public tree

else if((lh != null)&&(rh == null))

else if((lh != null)&&(rh != null))

if(ret->right != null)

}else

}return ret;

}public:

// ...

sharedpointer< btree> add(const btree& btree) const

else

return ret;}};

main.cpp

#include #include "btree.h"

using namespace std;

using namespace dtlib;

int main()

cout << endl << endl;

btreenbt;

nbt.insert(0, null);

n = nbt.find(0);

nbt.insert(6, n);

nbt.insert(2, n);

n = nbt.find(2);

nbt.insert(7, n);

nbt.insert(8, n);

sharedpointer< btree> r = bt.add(nbt);

cout<

小結

比較操作判斷兩棵二叉樹中的資料元素是否對應相等 

轉殖操作將當前二叉樹在堆空間中進行複製 

相加操作將兩棵二叉樹中的資料元素在對應位置處相加 

相加操作的結果儲存在堆空間的一棵二叉樹中 

樹 二叉樹的轉殖 比較和相加

1,二叉樹的轉殖操作 1,sharedpointer btree clone const 1,轉殖當前樹的乙份拷貝 2,返回值為堆空間中的一棵新二叉樹 與當前樹相等 1,儲存資料元素,樹的屬性一模一樣 2,二叉樹的轉殖的實現 1,定義功能 clone node 1,拷貝 node 為根結點的二叉樹 ...

轉殖二叉樹

題目 深度複製乙個二叉樹。給定乙個二叉樹,返回乙個他的 轉殖品 樣例給定乙個二叉樹 1 2 3 4 5返回其相同結構相同數值的轉殖二叉樹 1 2 3 4 5 思路 建立乙個新節點存放當前給出的節點的值,新建的左節點等於給出的左節點,新建的有節點等於給出的右節點,依次遞迴下去。class soluti...

轉殖二叉樹

問題描述 深度複製乙個二叉樹。給定乙個二叉樹,返回乙個他的 轉殖品 樣例 給定乙個二叉樹 1 2 3 4 5返回其相同結構相同數值的轉殖二叉樹 1 2 3 4 5 實現思路 運用遞迴演算法,採用前序遍曆法遍歷二叉樹的每乙個節點,並同時建立乙個新節點,並將值賦給這個新節點。實現 definition ...