版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文格式为word版,下载可任意编辑查找实验报告 试验报告 姓 课程名称: 院(系 专业班级: 试验四 - - 查找 一、试验目得 1. 把握挨次表得查找方法,尤其就是折半查找方法; 2. 把握二叉排序树得查找算法。 二、试验预习内容 请在上机前仔细教材及试验指导书 , 并在以下空白处填写相应得内容 . 1. 请写出简洁挨次查找算法。 int sq_sarc(eementtyp a,nt n, keytype ) =n;a、ke=; hi(i、key=x) i; etur i; 2. 请写出有序表二分(折半)查找算法。 (1)非递归算法 int bin_search(eemntype a,n
2、n,keyype x) in mid,low=0,hign-1; /初始化查找区域 while(o=hig) id=(lig); f(x=mid、ey urn id; else f(amid、key)hgh=i1; lse l1; retrn ; /返回查找失败得标志 (2)递归算法 int binsearc(lementype a,it low,it h,kytype x) it mi; i( owigh) rtun 1;/查找失败 ee md=(lw+gh)/2;/求解中间元素得下标 i( x=amid、ky ) retur i;/查找胜利 else if( ami、key ) etr b
3、in_erch(a,low,mi-1,x);/将在左边区域查找得结果作为在整个区域得查找结果返回 lse retrn inser(,mid+1,high,x); /将在右边区域查找得结果作为在整个区域得查找结果返回 3. 二叉排序树查找算法: 1)请写出二叉排序树结点得结构体定义语句。 peef chr datatype; typedf ru no keytpe ey; daty data; truct no lcl, rchild; bstne; 2)请写出二叉排序树中插入结点得算法. void inert (bnode *t,ne s) /将指针 s 所指结点插入到二叉排序树 t 中 if
4、 (t=nul) t=; /插入到空树时,插入结点成为根结点 lse if (kykey) set (lcild,); /插入到 t 得左子树中 ele inert(trild,s); 插入到 t 得右子树中 3)请写出二叉排序树构造得算法。 voi crea_bst(bode *t); 通过插入结点构造二叉排序树得算法 bnde * ;elmettpe x; tnul;cnx; /初始化根指针并读入第一个元素值 wle (x!=end_f_nu) /x 不就是结束符时 =new od; u-dta=x; /产生新结点并装入数据 u-lldill;-rchld=nul; /设置左、右孩子指针为
5、空 s (t,u); 插入结点到二叉排序树 t 中 cinx; /读入下一个元素得值 4)请写出二叉排序树查找得算法. 非递归算法: bno bs_search(bnode t,ytye x) bnoe * p=; /p 指向根 hie (!=nl) if( x=p-e) ren p; /查找胜利 else ( xpke=plchid); /到左子树中连续查找 else p=prchild; /到右子树中连续查找 retr p; /返回结果可能为空,也可能非空 递归算法: bnoe st_serch(bne * t,keytype x) f (t=null e=x) eun t; /子树为空或
6、已经找到时均可结束 ele i(xey) retrn btser(-lchid, x); /左子树中查找得结果就就是函数得结果 le eturn t_sarch(rchild, x); /右子树中查找得结果就就是函数得结果 三、上机试验 1. 试验内容. 1)建立一个挨次表,用挨次查找得方法对其实施查找; 2)建立一个有序表,用折半查找得方法对其实施查找; 3)建立一个二叉排序树,依据给定值对其实施查找; 4)对同一组数据,试用三种方法查找某一相同数据,并尝试进行性能分析。 2. 试验源程序。 () inlude stdo、 #iclude stdlib、h #efie mx 00 nt x;
7、 typedef struct ;amatad tn ;neltsi nislist; void nta_lit(seqlit *) l-listln0; vid list_creat(seqlist *) i ; ;+eltsl i-istlen; ;x=iatadl int lat_serc(sels l) nt ; ;nelil-li l-data0=x; whil(l-dat!=x) ; return i; n irst_earch(seqst l) it ,n; n=l-listl; )+i;ni;1=i(f )x=iatadl(i ; nruter return 1; i bin_
8、search(sqlst l) in mid,low=1,high=llstlen; )hgih=wol(elihw mid(lwhigh)/2; if(=l-aai) ;dim nruer e i(xldatami) hig=mid1; sle lomid+1; ;1 nruter int main(void) sqlist l; l=(sqlst*)mallo(zeof(selit)); int a,b,c; ;)l(tsilaitini pintf(您想创建有序得查找表(以1 结束):'); scf(d,x); while(x!-1) ;)l(aerc_tsil scanf(
9、39;',); pinf(请输入您想查找得数:); ;)x,'d%'(fnacs pri(挨次查找-您所要找数得下标号:); a=rt_earh(l); if(a=1) ;)!数得查要所您有没(ftnir esle prntf(',a); rinf(n'); prntf(倒序查找您所要找数得下标号:); b=last_searh(); f(b=0) print(没有您所要查得数!); esle prif(,b); prinf(n); ritf(折半查找-您所要找数得下标号:); c=bn_search(l); if(c=1) ;)'!数得查要所您
10、有没(fnir e pritf(d,c); rtf(n); ; ruter (2) icludestdo、h ncludetring、 incldestdlib、 tpef truc btnde int data; sc bnoe lild,rhild; btnod,no; voi insert(bne t,bde s) )ln=t(fi ;st )ta-atas(f esle inst(tlcild,); els inrt(-child,); void reateba(bnod t) bnoe u; ;x t ;lun= intf(put number:); ;)x,'(fn )1!
11、x(eihw ;))edntb(foezis(olam)*ednb(=u ;x=atd-u u-childll; uhild=nul; iner(,u); ;)':rebmun a tup(ftir ;)x,'d(nacs bnoe bsterc(be t,t x) )x=atd-t|u=t(f retrn ; )x)atad-t(fi esle ;)x,lihlt(hraes_sb ruter els rturn t_arch(-rcild,x); int an() int x; ;p,t edonb prinf(请先建立一棵二叉排序树:'); ;)n(ftnip ceatebat(t); ;):字数得找查要您入输请(nirp scnf('%d,x); ;)x,t(hcraestsb=p )lln=!(fi prnf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海立信会计金融学院《安全经济原理与实践》2025-2026学年第一学期期末试卷(A卷)
- 上海立信会计金融学院《安全原理与安全管理学》2025-2026学年第一学期期末试卷(A卷)
- 2026年送配电线路工配网自动化设备安装与调试基础
- 上海科技大学《阿拉伯语会话》2025-2026学年第一学期期末试卷(B卷)
- 2026年开水器水垢清洗与滤芯更换
- 上海科技大学《安全教育》2025-2026学年第一学期期末试卷(A卷)
- 2026年店长如何提升门店数字化运营能力
- 2026年虚拟仿真实验教学平台建设与实践
- 上海科学技术职业学院《安全技术》2025-2026学年第一学期期末试卷(B卷)
- 上海科学技术职业学院《AUTOCAD 制图》2025-2026学年第一学期期末试卷(B卷)
- 城市规划管理技术规范解析
- 中国传统民族服饰课件
- 中级财务会计-第8章流动负债学习资料
- 江苏交控笔试试题及答案
- 2024年第一次广东省普通高中化学学业水平合格性考试真题卷含答案
- JJF1033-2023计量标准考核规范
- 八年级下册《可爱的四川》全套教案
- 简易呼吸机的使用课件-完整版
- 2025年云南曲靖市住建局招聘考果及拟聘高频重点提升(共500题)附带答案详解
- 核酸扩增检测实验室设计及工作流程
- 幼儿园教师防欺凌培训内容
评论
0/150
提交评论