二叉查詢樹

2021-06-11 19:41:49 字數 1056 閱讀 6258

對於大量的輸入資料,鍊錶的線性訪問時間太慢,不宜使用。取而代之,採用二叉查詢樹,其平均訪問時間為o(logn)

.h

struct node

;class binarytree

;

.cpp

binarytree::binarytree()

binarytree::~binarytree()

void binarytree::insert(int data)

void binarytree::delete(int data)

node* binarytree::find(int data)

node* binarytree::findmin()

node* binarytree::findmax()

node* binarytree::_find(node* root, int data)

else if(data < root->data)

return root;

}node* binarytree::_findmin(node* root)

node* binarytree::_findmax(node* root)

void binarytree::_makeempty(node *root)

}node* binarytree::_insert(node* root, int data)

else if( data > root->data)

else if( data < root->data)

return root;

}node* binarytree::_delete(node* root, int data)

else if(data < root->data)

else

else

}return root;

}void binarytree::midprint()

void binarytree::_midprint(node *root)

}

二叉樹 二叉查詢樹

構建二叉樹,判斷是否為二叉查詢樹,遞迴先序遍歷,非遞迴中序遍歷 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 ...