/*構建二叉樹,判斷是否為二叉查詢樹,遞迴先序遍歷,非遞迴中序遍歷*/
#include
#include
#include
#include
using namespace std;
/*二叉樹結點*/
struct treenode
};/*鍊錶結點*/
struct listnode
};struct tempnodetempnode;
/*listnode* gettreelevel(treenode* root, int dep)
if(p->right!=null)
//棧頂元素出棧為,p=棧頂.指標元素->right,height=棧頂高度+1;}}
//根據listdata構建list
}return 0;}*/
bool check(treenode *root)
//判斷是否bst
if(front->right)
}return true;
}treenode* creattree()//建立樹
return root;
}void presearch(treenode * root)//遞迴先根遍歷
}void insearch(treenode *root)//非遞迴中序
p=s.top();
s.pop();
cout";
p=p->right;}}
void main()
二叉樹 二叉查詢樹
二叉樹 binary tree 一種樹型結構,每個節點最多擁有兩個節點。如下圖 幾種型別的二叉樹 1.full binary tree 每個節點的孩子數 是 0 或者 2.對高度沒有要求。如下圖 2.perfect binary tree 這個就是最完美的樹,顧名思義,所有葉子節點都有相同的深度,並...
樹(樹,二叉樹,二叉查詢樹)
1.定義 n n 0 個結點構成的有限集合。當n 0時,稱為空樹 2.對於任一棵非空樹 n 0 它具備以下性質 1 樹中有乙個稱為 根 root 的特殊結點,用 r 表示 2 其餘結點可分為m m 0 個互不相交的有限集t1,t2,其中每個集合本身又是一棵樹,稱為原來樹的子樹。3.樹的一些性質 1 ...
排序二叉樹or搜尋二叉樹or查詢二叉樹
排序二叉樹,搜尋二叉樹,查詢二叉樹都是乙個意思,只是叫法不同而已。下面的文章中我們統稱為排序二叉樹。本文主要是針對高中資訊學,因此其中不涉及到指標,所有需要用指標的地方都直接使用陣列進行模擬。排序二叉樹定義 1 若左子樹不空,則左子樹上所有結點的值均小於或等於它的根結點的值 2 若右子樹不空,則右子...