结构:
二叉搜索树的节点包含:左孩子节点、右孩子结点、父节点以及自己的value值
特性:
二叉搜索树的左节点的值大于父节点,父节点的值大于右节点
结构实现:
- #include
- using namespace std;
-
- template<typename T>
- class BSTNode
- {
- public:
- T m_key;
- BSTNode *m_lchild;
- BSTNode *m_rchild;
- BSTNode *m_parent;
-
- BSTNode(T key, BSTNode *m_lchild, BSTNode *rchild, BSTNode *parent):
- m_key(key), m_lchild(lchild), m_rchild(rchild), m_parent(parent){};
- };
-
- template<typename T>
- class BSTree
- {
- private:
- BSTNode
*m_root; - public:
- BSTree():m_root(nullptr){};
- ~BSTree(){};
-
- };
后面还有一些二叉搜索树的查找、插入删除等操作待更新,以及由二叉搜索树可以引申出后面的红黑树。