




如果您无法下载资料,请参考说明:
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)建立一个有序表,用折半

王子****青蛙
实名认证
内容提供者


最近下载
最新上传
浙江省宁波市2024-2025学年高三下学期4月高考模拟考试语文试题及参考答案.docx
汤成难《漂浮于万有引力中的房屋》阅读答案.docx
四川省达州市普通高中2025届第二次诊断性检测语文试卷及参考答案.docx
山西省吕梁市2025年高三下学期第二次模拟考试语文试题及参考答案.docx
山西省部分学校2024-2025学年高二下学期3月月考语文试题及参考答案.docx
山西省2025年届高考考前适应性测试(冲刺卷)语文试卷及参考答案.docx
全国各地市语文中考真题名著阅读分类汇编.docx
七年级历史下册易混易错84条.docx
湖北省2024-2025学年高一下学期4月期中联考语文试题及参考答案.docx
黑龙江省大庆市2025届高三第三次教学质量检测语文试卷及参考答案.docx