//二叉查詢樹的一些功能
#include#include#includeusing namespace std;
struct node
;//初始化
void init(node* tree)
//插入資料
void insert(node* tree,int number)
node* q=(node*)malloc(sizeof(node)); //新分配的節點
q->data=number;
q->left=q->right=null;
while(1)
else
p=p->left;
}else if(p->data<=number)
else
p=p->right;}}
}//輸出所有資料
void output(node* tree)
if(p->left!=null)
output(p->left);
printf("%d ",p->data);
if(p->right!=null)
output(p->right);
}//查詢二叉數裡面是否有該數字
bool search(node* tree,int number)
else
}}int main()
output(tree);
printf("\n");
return 0;
}
還少乙個刪除的過程沒加上,傳遞過程中需要傳遞父節點,子節點,比較麻煩,我想項有沒有更加好的方法,後面的平衡二叉樹一併寫好~~~ 二叉樹 二叉查詢樹
構建二叉樹,判斷是否為二叉查詢樹,遞迴先序遍歷,非遞迴中序遍歷 include include include include using namespace std 二叉樹結點 struct treenode 鍊錶結點 struct listnode struct tempnodetempnode...
二叉樹 二叉查詢樹
二叉樹 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 ...