使用C++实现二叉搜索树查找算法
二叉搜索树是一种常用的数据结构,它支持快速的插入、删除和查找操作。在本文中,我们将使用C++语言实现二叉搜索树的查找算法,并提供相应的源代码。
实现步骤如下:
-
定义二叉搜索树结构体及相关函数;
-
实现二叉搜索树的插入操作;
-
实现二叉搜索树的查询操作。
定义二叉搜索树结构体及相关函数
struct TreeNode
{
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
class BST
{
public:
BST() : root_(nullptr) {}
~BST() { destroy(root_); }
void insert(int x);
bool search(int x);
private:
TreeNode* root_;
void destroy(TreeNode* node);
};
在这段代码中,我们定义了一个名为TreeNode
的结构体,它包含一个整型值val
和两个指向左右子节点的指针。然后我们定义了一个名为BST
的类,它包含一个指向根节点的指针以及插入和查询操作。
在这个类中,我们定义了插入操作insert(int