二叉排序树的查找

本文介绍了如何使用二叉排序树进行查找操作。首先,通过顺序表存储结构和折半查找实现已知关键字的查找;然后,随机生成一组关键字建立二叉排序树,并插入到树中;接着,演示在该二叉排序树中删除指定关键字的元素;最后,提供了一个主函数,用于调试这些算法并展示其实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.编写函数,建立有序表,采用折半查找实现某一已知的关键字的查找(采用顺序表存储结构)
2.编写函数,随机产生一组关键字,利用二叉排序树的插入算法建立二叉排序树
3.编写函数,在以上二叉排序树中删除某一指定关键字元素
4.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法

//二叉排序树的存储结构采用二叉链表作为存储结构
#define _CRT_SECURE_NO_WARNINGS
#define MAXNODE 300
#define MAX 100
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

typedef int datatype; //二叉链表结点类型
typedef struct Node
{
	datatype data;    
	struct Node *lchild, *rchild;
}NodeType;
//代码如下:
int Binary_Search(int data[], int key, int n)
{
	int mid;    
	int low = 1, high = n;
	while (low <= high)
	{
		mid = (low + high) / 2;        
		if (key == data[mid]) 
			return mid;
		else if (key<data[mid]) 
			high = mid - 1;        
		else low = mid + 1;
	}
	return 0;
}
void zhebansearch()
{
	int data[MAX]; 
	int n, i, key, j;
	printf("请输入数组的长度:");  
	scanf("%d", &n); 
	printf("请输入一组数:");
	for (i = 1; i <= n; i++)  
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值