// mirror_of_search_tree.cpp : 定義控制台應用程式的入口點。
//二叉樹的映象實現,//
//二叉樹的廣度優先遍歷//
//佇列//
#include "stdafx.h"
#include "iostream"
#include "queue"
using namespace std;
struct bstnode
;templatestruct queuenode
;templateclass queue//first dequeue,last enqueue//佇列//
~queue()
bool isempty()
void enqueue(t data)
else
}t dequeue()
else
}return x;
}private:
queuenode*first;
queuenode*last;
};class bsttree
bstnode* root;
int maxlenth_in_node;
};bsttree::bsttree()
bsttree::~bsttree()
void bsttree::init_tree()
void bsttree::insert_item(const int & data)//插入//
else if(data > p->data)
}if(trail->data > data)
trail->left = newnode;
else
trail->right = newnode;
//coutcoutprint_inorder(p->right); }
}void bsttree::print()
void bsttree::mirror(bstnode*p)//二叉樹映象//
}void bsttree::mirror_of_search_tree()
void bsttree::print_breadthfirst()//廣度優先遍歷// }}
int bsttree::max_lenth(bstnode*proot)
else }
int bsttree::max_lenth_of_tree()//樹中任意兩個節點之間的最大距離//
{ //cout<<"max_lenth_of " 題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹... 給定二叉樹的頭結點,按層級列印二叉樹節點值。從上到下按層遍歷,應該是先遍歷到的節點先輸出。因此用佇列作為輔助結構來解此題。層級遍歷中關鍵點要知道什麼時候換層。用兩個變數last 和nlast,分別指向當前層的最右邊和下一層的最右邊節點。當當前層的最右邊節點從佇列中輸出時,表示這一層遍歷完畢了,此時使... 現給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求你計算該二叉樹的高度。input 輸入包含多組測試資料,每組輸入首先給出正整數n 50 為樹中結點總數。下面2行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區別大小寫 的字串。output 對於每組輸入,輸出乙個整數,即該二叉樹的高...二叉樹 二叉樹
二叉樹問題 二叉樹層級列印
二叉樹問題