实现二叉排序树的查找算法c语言‘
时间: 2024-09-20 07:15:20 浏览: 44
c语言实现二叉查找树实例方法
在C语言中,实现二叉排序树(Binary Search Tree,BST)的查找算法通常采用递归或迭代的方式。这里我会给你一个简单的递归查找的例子:
```c
// 定义二叉树节点结构体
typedef struct TreeNode {
int val; // 节点值
struct TreeNode* left; // 左孩子指针
struct TreeNode* right; // 右孩子指针
} TreeNode;
// 查找函数
TreeNode* searchBST(TreeNode* root, int target) {
if (root == NULL || root->val == target) { // 如果根为空,或目标等于当前节点值,返回该节点或NULL
return root;
}
if (target < root->val) { // 目标小于当前节点,搜索左子树
return searchBST(root->left, target);
} else { // 目标大于当前节点,搜索右子树
return searchBST(root->right, target);
}
}
```
在这个函数中,我们首先检查当前节点是否为空或者其值是否就是我们要找的目标。如果是,则返回该节点;如果不是,就根据目标值与当前节点值的大小关系决定是向左还是向右子树继续递归查找。
阅读全文