二叉树查找c语言代码
时间: 2024-08-13 07:08:09 浏览: 53
在C语言中,二叉查找树(Binary Search Tree, BST)是一个常用的数据结构,用于快速查找、插入和删除元素。下面是一个简单的二叉查找树节点的定义以及插入和查找的示例代码:
```c
// 定义二叉查找树节点
typedef struct TreeNode {
int data; // 节点数据
struct TreeNode* left; // 左子节点指针
struct TreeNode* right; // 右子节点指针
} TreeNode;
// 插入函数
TreeNode* insert(TreeNode* root, int value) {
if (root == NULL) {
return (TreeNode*)malloc(sizeof(TreeNode));
root->data = value;
root->left = NULL;
root->right = NULL;
} else if (value < root->data) {
root->left = insert(root->left, value);
} else if (value > root->data) {
root->right = insert(root->right, value);
}
return root;
}
// 查找函数
TreeNode* search(TreeNode* root, int value) {
if (root == NULL || root->data == value) {
return root;
}
if (value < root->data) {
return search(root->left, value);
} else {
return search(root->right, value);
}
}
```
相关问题:
1. 二叉查找树的主要优势是什么?
2. 插入和查找操作的时间复杂度分别是多少?
3. 如何保证插入后二叉查找树的性质?
阅读全文