您所在位置: 网站首页 / 查找实验报告.doc / 文档详情
查找实验报告.doc 立即下载
2025-02-20
约4.4千字
约11页
0
22KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

查找实验报告.doc

查找实验报告.doc

预览

免费试读已结束,剩余 6 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第页共NUMPAGES11页
查找实验报告

实验报告
姓
课程名称:
院(系
专业/年级:
实验四
---查找
一、实验目得1.掌握顺序表得查找方法,尤其就是折半查找方法;2.掌握二叉排序树得查找算法。
二、实验预习内容请在上机前认真阅读教材及实验指导书,并在以下空白处填写相应得内容.1.请写出简单顺序查找算法。
intseq____search(elementtypeA[],intn,keytypex)
{
i=n;A[0]、key=x;while(A[i]、key=____)
i--;returni;}2.请写出有序表二分(折半)查找算法。
(1)非递归算法intbin____search(elementtypeA[],intn,keytype____)
{intmid,low=0,high=n-1;//初始化查找区域
while(low<=high)
{mid=(low+high)/2;if(____==A[mid]、keyreturnmid;elseif(x<A[mid、key])high=mid-1;elselow=mid+1;}
return-1;//返回查找失败得标志}(2)递归算法intbin_search(elementtypeA[],intlow,inthigh,keytype____){intmid;
if(low>high)
return-1;//查找失败
else{mid=(low+high)/2;//求解中间元素得下标
if(____==A[mid]、key)returnmid;//查找成功
elseif(x<A[mid]、key)
returnbin____search(A,low,mid-1,____);//将在左边区域查找得结果作为在整个区域得查找结果返回
elsereturnbin_search(A,mid+1,high,____);//将在右边区域查找得结果作为在整个区域得查找结果返回
}}
3.二叉排序树查找算法:1)请写出二叉排序树结点得结构体定义语句。
typedefchardatatype;typedefstructnode{
keytypekey;datatypedata;
structnode*lchild,*rchild;}BSTnode;2)请写出二叉排序树中插入结点得算法.voidinsert(Bnode____&T,Bnode*S)
//将指针S所指结点插入到二叉排序树T中{
if(T==NULL)
T=S;
//插入到空树时,插入结点成为根结点
elseif(S-〉key<T->key)
insert(T->lchild,S);
//插入到T得左子树中
elseinsert(T->rchild,S);//插入到T得右子树中}
3)请写出二叉排序树构造得算法。
voidcreate____bst(Bnode____&T);//通过插入结点构造二叉排序树得算法{
Bnode____
u;elementtype____;
T=NULL;cin〉>____;
//初始化根指针并读入第一个元素值
While(____!=end____of____num)
//____不就是结束符时
{
u=newBnode;u->data=____;
//产生新结点并装入数据
u->lchild=NILL;u->rchild=NULL;//设置左、右孩子指针为空
insert(T,u);
//插入结点到二叉排序树T中
cin〉>____;//读入下一个元素得值
}}4)请写出二叉排序树查找得算法.非递归算法:
Bnode*bst____search(Bnode*T,keytype____){
Bnode____
P=T;
//P指向根
while(p!=NULL)
if(____==p-〉key)returnp;
//查找成功
elseif(____〈p->key=p-〉lchild);
//到左子树中继续查找
else
p=p->rchild;//到右子树中继续查找
returnp;//返回结果可能为空,也可能非空}递归算法:
Bnode*bst____search(Bnode____
T,keytype____){
if(T==NULL||t->key=____)
returnT;//子树为空或已经找到时均可结束
else
if(____〈T->key)
returnbst_search(T->lchild,____);//左子树中查找得结果就就是函数得结果
else
returnbst____search(T->rchild,____);
//右子树中查找得结果就就是函数得结果}三、上机实验1.实验内容.1)建立一个顺序表,用顺序查找得方法对其实施查找;2)建立一个有序表,用折半
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

查找实验报告

文档大小:22KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用