一、二叉搜索樹的定義及性質(zhì)

二叉查找樹(Binary Search Tree),也稱有序二叉樹(ordered binary tree),排序二叉樹(sorted binary tree),是指一棵空樹或者具有下列性質(zhì)的二叉樹:

1. 每個節(jié)點(diǎn)都有一個作為搜索依據(jù)的關(guān)鍵碼( key) , 所有節(jié)點(diǎn)的關(guān)鍵碼互不相同。
2. 左子樹上所有節(jié)點(diǎn)的關(guān)鍵碼( key) 都小于根節(jié)點(diǎn)的關(guān)鍵碼( key) 。
3. 右子樹上所有節(jié)點(diǎn)的關(guān)鍵碼( key) 都大于根節(jié)點(diǎn)的關(guān)鍵碼( key) 。
4. 左右子樹都是二叉搜索樹。

在實(shí)現(xiàn)中,由它的性質(zhì)可以初步簡單的定義出節(jié)點(diǎn)信息,我們需要定義一個內(nèi)部類BinarySearchTreeNode,它包含兩個分別指向左右節(jié)點(diǎn)的Node->_left和Node->_right,一個保存鍵值信息的Key。

大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計算培訓(xùn),高端軟件開發(fā)培訓(xùn),項目經(jīng)理培訓(xùn)

 1 template <class K> 2 struct BinarySearchTreeNode 3 { 4