二叉搜索树详解-5. KV结构的二叉搜索树

时间:2024-10-25 07:26:47

什么是KV呢?即节点中存有key值和value值,key作为键,用来保证树的结构,value值与key值对应(在下一篇avl树和红黑树会详细展开~)

总体结构:

template <class K,class V>
struct BSTNode {
	BSTNode(const K& key = K(), const V& value = V(), BSTNode* left = nullptr,BSTNode* right = nullptr)
		:_key(key),
		_value(value),
		_left(left),
		_right(right)
	{}
	BSTNode* _left;
	BSTNode* _right;
	K _key;
	V _value;
};

template <class K,class V>
class BSTree {
	typedef BSTNode<K,V> Node;
public:
		//与上面的代码大同小异,只是多了一个参数而已
private:
	Node* _root = nullptr;
};