版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、甘肃政法学院本科生实验报告姓名:田学成学院:公安技术学院专业:信息安全班级:1信3息安全班实验课程名称:实验日期:20年145月21日指导教师及职称:金涛实验成绩:开课时间:2013-学2年0第14二学期甘肃政法学院实验管理中心印制实验题目实现顺苏查找的方法小组合作否姓名田学成班级信息安全学号一、实验目的设计一个程序输出顺序表3,中采用顺序方法查找关键字二实验环境三实验内容与步骤文件包含函数的功能是米用顺序查找的方法在书序表中杳找关键字的记录位置voidmain()SeqListR;intn=1B,i:KeyTypek=5;inta=3,6,2,10,1,8,5,7,U,9;for(i=0;i
2、n;i+町建立顺序表Ri.keij=ji;PintfC咲犍字序lj:);For(i=0;in;i+)printft,Ri.ke);printfLW);printf(查找初所比较的关键字if(i=SeqSearch(R,n,k)!=-1)printfCAn元羞初的屁置是;elseprintfCAn元素初不在表中n,k);printfCAn;FnF:LJNGSHIWENJIAN91Debug9l.ee关键宇序列T62佃1E?49背描吕所应较的关键字:362IB185p素5的位萱是丘Pressanykeytocontinue四实验过程与分析建立控制台应用程序命名空间分析实验题目要求构思如何编写简单的
3、程序编写程序后进行调试执行报错原因通过百度查找修改后再次执行整理实验记录截图五实验总结顺序表的查找有点是算法简单且对结构没有要求无论是用顺序表还是链表存储元素,也无论是元素之间是否按关键字有效同样适用。但顺序表当值过大时查询效率低。实验题目实现二分查找的算法小组合作否姓名田学成班级信息安全学号一、实验目的设计个程序输出顺序表.键字为中二分查找查找关二实验环境三实验内容与步骤文件包含函数的功能是采用二分查找方法在顺序表中杳找关键字的记录位置voidmain()SeqListR;KEyTypEk=9;inta=1,2,3,5,6,7,8,9,10,i,n=10;for(i=8;in;i+)建订顺序
4、耒Ri.kei|=ai;printfC关樋字序列J);for(i=8;iLis67B?10出狡过程如下:匕狡:在w冲比車:在s,?i=itL匚殓亚叫9中比校兀報81:9远重B汚V7LJB71:8rii元I貓Pressanykeytocontinue四实验过程与分析。建立控制台应用程序命名空间分析实验题目要求构思如何编写简单的程序编写程序后进行调试执行报错原因通过百度查找修改后再次执行整理实验记录截图五实验总结对二分查找可以用二叉树来描述把当前查找区间的终点位置上的元素作为根,左子表和右子表中的元素分别作为左子树和右子树,由此得到二叉树小组合否作学号实验题实现分块查找的算法目姓名田学成班级信息安
5、全一、实验目的计一个程序输出顺序表8中采用分块查找关键字是的过程实验环境三实验内容与步骤文件包含的函数()的功能采用分块查找方法在顺苏北中查找关键字的的位置uoidnain(eqListR;KepTppek=4冇;DXI;Lnta=h:8,8,19,31,4B亦.54.46D78,68,80,85,.For(1=6:125:1+)建立顺庠表Ri.keij=ai;S.keij=14;IG.link-B;1.keij-3i|;I1.link-4;2.keij-fifi;I2.link-18;9.keif-GE;I3.link-15;*.k9if=1Qe;Ii|.link=20;if(i=ldSea
6、rch(1,5,R,25,II=-1)pFintf元素如的缸直是Un,k,ielsepFint*元素匙环在恚中;printfCAn);F:UNGSHIWENJIAN9lDebug9l.exeB比狡:在0,4d比较:在0,114比密况在第2块中查義元38546646比护,元素空的_-=._-5.-一元元一RC23R0RlB14元素征Pressanykeytocontinue四实验过程与分析。建立控制台应用程序命名空间分析实验题目要求构思如何编写简单的程序编写程序后进行调试执行报错原因通过百度查找修改后再次执行整理实验记录截图五实验总结首先查找索引表,索引表是有序的,可以采用二分查找或顺序查找用来
7、确定特定元素在那一块,然后在这块进行顺序查找。实验题目实现二叉排序树的基本运算算法小组合作否姓名田学成班级信息安全学号一、实验目的实际一个程序实现叉排序树的基本运算完成如下功能()由6创建以棵二叉排序并以括号形式输出。()判断递归和非递归两种方式查找关键字为输出其路径()判断是否是二叉序列树实验环境三实验内容与步骤由数组中的关键字创建一颗二叉序列树uoidBSTNodeKeyTypek=6;int,8,6,3,5,2,7,0=10;PHintfC1创建一柳MT树:-);printf(Xn);bt=CreatBST(a;Di5pBST(bt)jprintf(Xn);PHintfC1查找紛关键字(
8、递归,顺芯上)jSrchBSTUbtath,-!)printf(-查找初杀镇字(非递归):,,l);SearctiBST2(bt,k);printfCAnfjjl除加作W);printf(;DispBST(bt)jprintf(An);PintfC删除节点恥J;DeleteBST(bt,ii);DispBST(bt);printf(An);PintfC删除节点k);DeleteBST(bt,5);DispBST(bt);printf(An);创建二棵阳T树:第步,第3步,第5步,第石步,第&步,第陶4JBST:40,1,3,986M-JFressin_yM_ytocontinu.e除=3(0(
9、,1(,2,9(8(6四实验过程与分析。建立控制台应用程序命名空间分析实验题目要求构思如何编写简单的程序编写程序后进行调试执行报错原因通过百度查找修改后再次执行整理实验记录截图五实验总结根据题目要求完成实验对实现二叉排序树基本运算,重点还是掌握算法的技要。实验题目统计个字符串中出现的字符及其次数小组合作否姓名田学成班级信息安全学号一、实验目的设计一个程序读入字符串,统计字符串出现的字符和次数,然后输出一个结果用一个二叉树来保留处理结果,要求字符中每个不同的字符用树来描述。二实验环境三实验内容与步骤采用递归方式构造一个二叉排序树中遍历输出void)BTree*root=NULL;inti=0;c
10、harstrMAKUORD;pM:F(输入字符串J);gpts(str);uhil?(5tri=,0,)aCldfC3JLCDnoC3sPressanykeytocontinue四实验过程与分析。建立控制台应用程序命名空间分析实验题目要求构思如何编写简单的程序编写程序后进行调试执行报错原因通过百度查找修改后再次执行整理实验记录截图五实验总结通过实现遍历算法计算出字符串中出现的字符次数,熟悉算法运用。实验题目实现而二叉平衡的相关运算的算法小组合作否姓名田学成班级信息安全学号、实验目的设计一个程序实现的树相关运算完成有()创建一颗树并以括号输出在树中分别删除关键字和的节点,并以括号表示法输出一个删
11、除后的树实验环境三实验内容与步骤在插入节点时对以指针所指节点为二叉树做左平衡旋转处理相反则做右平衡旋转,voidmain()BSTNodP*b=NULL;inti,j,k;KeyTypea=,n=10;printF(-创建一棵(WL树For(i=0;in;i+)_printFC第初步插入初元素InsertftULCtjafilJ);DispBSTreeCb):printFCn):printFC结果口UL:);OispBSTreeCb):printf(Xn):printF(-删條节点W):k=8;pMMzFL删除节点昭M:DeleteftUL(b,l,j);printF(AUL:);Di5pBT
12、ree(b);printF(Xn);k=2;printFL删除节点削呼,町;&eLeteftUL(b,kJ);printF(AUL:;DispBSTree(b);printF(nn);F:UNGSHIWENJIAN94Debug94.ese蛋入叫匹畫油_5!1归r_.-ir_.-ir-_1-p_.-iJ-U-p_.-j.Q-U-p酉入酉入06A第结果(lijS4(1(0,3(2,8(6(5,?),?删除节点=册!除-p点醤:AUL:4i0f3f76,9甬餘节点2:AUL:4i,76,9毒入6,8(6,9gA3J:4(1(0,3,8(6,9SAeS:4C1C0-3-86-9gA27L:4(1(0
13、,3(2,8(&C5,9盘人孚元素:410,3),8&,9Presstocontinue四实验过程与分析。建立控制台应用程序命名空间分析实验题目要求构思如何编写简单的程序编写程序后进行调试执行报错原因通过百度查找修改后再次执行整理实验记录截图五实验总结通过此次实验,掌握了运用二叉平衡树的算法。进一步了解了,对二叉树的认识。实验题目实现树的相关的算法小组合作否姓名田学成班级信息安全学号一、实验目的设计一个程序,实现树的相关运算完成由(,52)创建一颗树并以括号输出。在中分别删除关键字为和以括号输出删除后的树实验环境三实验内容与步骤根据题目要求编写程序调试执行voidn)ain(BTNode*t=
14、NULL;Result5;intj,n=dft;KeyTypea=,k;m=3;3阶B-树Hax=m-_1;Hin=(m-1)/2;printfC创建一棵初阶E榊:n,n);for(j=0;jn;j*+)创建一棵3阶B-树ts=SearchBTree(t,aj):if(s.tag=O)InsertBTreeft,aj,5.pt,5.i);printf(第初比,插入机:Jj+I,日j);Di印BT亡pnintFC1结星B-树:);DiepBTree(t);printf(-n);print代删曉操作Wk=S;DeleteBTree(l:4J(011,?:4(011,8?:48(011,?:4J(1
15、(0,3J,8:4J(1(0,3J,8KE56,E9):4J(1(0,231),E8(56,9)7:4ll,68KE5J,71,?41,68411,fi421,6KE5J,7?Pressnnytocontinue四实验过程与分析。建立控制台应用程序命名空间分析实验题目要求构思如何编写简单的程序编写程序后进行调试执行报错原因通过百度查找修改后再次执行整理实验记录截图五实验总结尽可能熟练掌握各种算法的代码语句编写,通过实验不仅学会该方法的运用还有拓展其他的方面。实验题目实现哈希表的相关运算算法小组合作否姓名田学成班级信息安全学号一、实验目的设计一个程序实现哈希表的运算完成建立(,6198)哈希数为
16、并采用线性探查法结局冲突实验环境三实验内容与步骤功能是对按递增有序进行直接的插入排序uoidInsertHT(HashTableha,int&n,KepTypek,intp)将关琏字k插人到哈希表中inti,adr;adr=k%p;if(haadr.key=NULLKEY|hafaUr.key=DELKEY)/xj可以直裟放在哈希耒haadr.key=k;haadr.count=1;ee发生神突时采用线性探查法解决冲突i=l;i记录刘j发生冲突的次数douhile(haadr.kcpi=NULLKE7&haadr.kep*=DELKEV);hajdr.kei/=k;hadr.count=i;F
17、g哈搜平h屠哈搜平话師龍聊:字-=-二长明字址键天書.k键地关键地关誓wig关表表蚤氏天表表醫希事均a除希;均总冃勺774b0b74800-字741-1-21-7774Fressanykcwtocontinue四实验过程与分析。建立控制台应用程序命名空间分析实验题目要求构思如何编写简单的程序编写程序后进行调试执行报错原因通过百度查找修改后再次执行整理实验记录截图五实验总结通过此次实验对哈希表重新有了更进一步了解,如何创建哈希表对其插入元素,查找关键字,删除关键字,以及输出哈希表都有了认识。实验题目实现直接插入排序的算法小组合作否姓名田学成班级信息安全学号一、实验目的设计一个程序实现直接插入排序
18、,并输出()的排序过程二实验环境三实验内容与步骤F-UNGHIWEMJAN101Debug101seze93333993911111119R234continue94-丿习耳.4.斗.斗.习.果果果里果果果果果0士口亠一口H口亠一口吐口吐口3口吐口吐口:!-匸.若-7片士*:-叮.壬*ruty_ek8765432103键入入A入人入A入入果an结SS井心2,3,4,6,?.8,9,亠后es矿L=L=i=L-L=L=L=yIL四实验过程与分析五实验总结构思如何实现题目要求,书写程序,调试执行后出现错误,分析出现错误的原因。五实验总结通过此次试验,对程序的理解进一步加深,对插入排序的算法可以熟练运
19、用。实验题目实现希尔插入排序算法小组合作否姓名田学成班级信息安全学号一、实验目的编写一个程序实现希尔插入排序的算法。二实验环境三实验内容与步骤五实验总结voidShellSort(RecTypeRtlntn)希尔排序算法B)for(i|d;in;i+)将Rdn-1分别插入各组当前有序区中=0&Rj.keyRj*d.key)printf(dd:,d);输出每一趙的排序结果for(k=0;kn;k+)prints(,.3d,Rlc.k9y);printFCAn);d=d/2;递减增量F:LJNG5HIWEHIAN1O2D吐也肛陀亡肘的始关键字,943219d=5:4321098765Hd=2:01
20、2345G789Hd=l:Q12345G789Q最后结果:012345678?HFressnny血ytocontinueH四实验过程与分析构思如何实现题目要求,书写程序,调试执行后出现错误,分析出现错误的原因。通过此次试验,对程序的理解进一步加深,对希尔插入排序的算法可以熟练运用。实验题目实现冒泡排序算法小组合作否姓名田学成班级信息安全学号一、实验目的。编写一个程序实现冒泡排序的算法并输出()的排序过程二实验环境三实验内容与步骤五实验总结五实验总结voidBubbLeSort(RecTppeR,intn)肩泡剂L序算法inti,j,k;RecTppetenp;Fori=0;in-1;i+)Mr
21、比较,我匕本趙最小关镇字的记杲iFRj.kep_prlntf-i=(i(1岀的最小关犍字:剳,结果):,1,Rri-Keu);输岀每一趟的排For(k=0;kllRkk艸);printfAn11);voidmaim()intivk,n=19;KejjTppea=QlSl7p6lEp4R3l2l1a0;DpTmnnDTMAY匚l3477789589338922220enaHH冃S冃S日目日目口目口目r=lfim上上上上#,-二n012345678PA-iiiiirlii-1iiEmww顼于的的的的的的的的的.LNYLMYLMM.LMMrnrnVIFVIFVIF-82di/斗.di/di/di/d
22、i/JI/H果果果果果果果果7-士口士口吐口吐口吐口吐口吐口吐口士口石E4vi=生*;=*;=A二*.二.二U上-B-5n5012345678i:x=x:l=34Ontr卜二*IMfl4二nrl-*11-*11-卜二_;了镇键键键犍犍键2c8FA匚-.己xp-y匚F-r-F-wo_UJ-.I.I.I.I.I.I.I.I.I10:0:0:6:6:6:Q:0:6:099111111117894444445789662345右7898123456789四实验过程与分析。构思如何实现题目要求,书写程序,调试执行后出现错误,分析出现错误的原因。通过此次试验,对程序的理解进一步加深,对冒泡排序的算法可以熟
23、练运用。实验题目实现快速排序算法小组合作否姓名田学成班级信息安全学号一、实验目的。设计个程序实现快速排序的算法并输出()的排序过程二实验环境三实验内容与步骤五实验总结五实验总结五实验总结五实验总结蛋于:6间为RE0-可为RE0-间为RE0-.司为RE2.司为Rt3.司为R【?司为RC7-瞩輙0ressanykeytoTLUn.m:7斗.斗/斗/斗/斗/斗/斗/*2士a.士H-士a.士-士昌昌-S士一匸二.rrB-B-1-1J195444980132542314230112301L21301213301230123456745016053&45&45&45&4564568997897897897
24、8978879789voidQuickSort(RecTypeR,ints,intt)对Rs至Rt的元素进行快速排序inti=s,j=t,k;RecTypetemp;if(st)区间内至少存在一个元素的情祝temp=Rs;用区间的第=个记录作为基准while(i?=j)从区可商端交替向中向扫辎,直至i=j为止i&Rj.keyteinp.key)j;屁向左右描,找第1个关键字小于上MP-的RRi=Rj;uhile(ij&Ri.keyteinp.key)i+;应左向右右描,找第1个关键字大于temp.key的记Rj=Ri;Ri=temp;printF(-划分区间为R.d,结果为:,5);输岀每一趟
25、的排序结果For(k=O;kintnJ土孑且璜述于竿于斗卜丿予昇运intiRecTypetemp;F叶(i=B;in-1;i+)做第i趟排序k=i;for(j=i+1;jn;j+)在当前无序区Ri-中选父削最小的if(Rj.keijRk.key)j;址己下目前找到的最小关键字所在的位量if(k!=i)“X换叽幻和只灯temp=Ri;Ri=Rk;Rlc=teiip;printHi咼d,选择的关键字:劄,结果for(l=0;ln;l+)输出每一粗的排序结果printFC2d,Rl.key);printf(Xn);SB2:LNU.LMVLMVLMVLM-3斗/斗/m.r斗.斗J.斗J.斗.斗.耳1果
26、果果果果果果果果6士口士口吐口吐口吐口士口吉吉士口0叮57叮ifvs.-i-S.C匸5901234567847宀:宇咅尝号8犍犍键键键犍犍犍犍26天天天天天SSS天1-.“B_.DM,0,5.DutTt,&u,nJ-闩睪睪睪睪睪睪睪睪睪I-十疋选选选选选选选选选一rhA口01234Yl:一一-BlI工工.1.-V-缸选精a56785-一-无e1iiiiiftPF40000600009811111111224444422777?774444四实验过程与分析。构思如何实现题目要求,书写程序,调试执行后出现错误,分析出现错误的原因。通过此次试验,对程序的理解进一步加深,对堆排序的算法可以熟练运用。实
27、验题目实现二路归并排序算法小组合作否姓名田学成班级信息安全学号一、实验目的。设计个程序实现一路归并排序算法并输出(3,的排序过程二实验环境三实验内容与步骤五实验总结voidSift(RecTpeR,high)*#调整堆inti=low,j=2*i;RecTypetenp=Ri;uitiile(j=high)/Rj是Ri的左孩子五实验总结五实验总结if(jhigh&Rj.key,5,7C1,3E序:勲环,输岀字飞序结果:087&51324?选调整得到堆:8C6C4C2,0,5,7C1,3交换与叫输岀恋答逸占5,输岀5鄆岸结果:14得到堆:42,3构思如何实现题目要求,书写程序,调试执行后出现错误
28、,分析出现错误的原因。五实验总结通过此次试验,对程序的理解进一步加深,对二路归并排序的算法可以熟练运用。实验题目实现基数排序算法小组合作否姓名田学成班级信息安全学号一、实验目的。设计一个程序实现基数排序算法,并输出(,的排序方法二实验环境三实验内容与步骤voidMerge(RecTj/peR,intlow,intmid,inthigh)将两个TJ?Rlow.-riidRiiiid*1.high归并为一个有序Rlow.-highRecT|ipe*R1;int唧=Md+“=0;K是FH的下标丄j分别为第J2段的卫标R1=(RecTijpe*)malloct(high-low+1)*sizeof(R
29、ecType):动态分|己空uhile(i=lTlid&j=high)卬在第P段和第舉均制3堀完叶宿环IF(Ri-keu=Rj.key)瘠第1段中的记录放入叭中皿e将第2段中的记录放入曲中while(i=mid)将第段余下部分复制到附R1k=Ri;i+;!+;553232八恢笑o厶如旨出I车iiD42281yeo2t1一扌扌扌扌:键归归归归果匚尚一尚一尚一尚一士口n.-走走走走芒I-SA口1234nS-RcTIFHpmgF斥e0穿穿肆肆氧1228J41828J418203461216568568con七:Lnu_e1212GIS1212323212201616GG163218181&1&32342020ss8S3434四实验过程与分析。构思如何实现题目要求,书写程序,调试执行后出现错误,分析出现错误的原因。五实验总结通过此次试验,对程序的理解进一步加深,对基数排序的算法可以熟练运用。实验题目实现可边长度的字符串序列快速排顺序算法小组合作否姓名田学成班级信息安全学号一、实验目的实现可边长度的字符串序列快速排顺序算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗数据安全共享激励机制
- 2026届河南省新乡市辉县市第一中学生物高三上期末检测模拟试题含解析
- 医疗数据安全事件应急处置中的数据恢复策略
- 医疗数据安全与医院伦理形象建设策略
- 2026届云南省昭通市巧家县一中高一上数学期末检测试题含解析
- 医疗数据存储的区块链安全与效率提升
- 福建省龙岩市2024-2025学年八年级上学期数学第一次月考试卷【含答案】
- 医疗数据区块链安全防护的挑战与对策
- 肿瘤影像诊断课件
- 上海市六十中学2026届数学高二上期末综合测试试题含解析
- 2025年全国高校辅导员素质能力大赛基础知识测试题(附答案)
- n2级护士理论考试试题附答案
- 空管面试高分技巧
- 2025版煤矿安全规程新增变化条款考试题库
- 亚马逊知识产权培训计划
- 院感消毒隔离培训课件教学
- 物业小区大门建造方案(3篇)
- 2025-2030肉牛养殖产业草原载畜量评估及草畜平衡政策与生态补偿机制报告
- 天祝村文书考试题及答案
- 2025北京市交通发展年度报告
- DB42T 1070-2015 银杏物候观测方法
评论
0/150
提交评论