数据结构实习报告(共8篇)

  • 格式:doc
  • 大小:31.50 KB
  • 文档页数:16

下载文档原格式

  / 16
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构实习报告(共8篇)

数据结构实习报告(共8篇)

第1篇:

数据结构实_报告附件:实_报告格式,如下:数据结构实_报告班级:姓名:xxx(1514)xxx(1514)xxx(1514)指导教师:日期:题目

一、问题描述(把你所选的题目及要求说一下)二、概要设计(抽象数据类型定义)三、详细设计(主要算法和函数间的调用关系)四、调试分析(调式过程中出现的问题及如何改正)五、心得体会(组内成员的分工及实_期间的体会)六、用户手册(系统的使用方法介绍)可参照_题集上的实_报告格式。

第2篇:

数据结构实_报告数据结构实_报告班级:13软件二班姓名:殷健学号:1345536225子集和数问题1:问题描述子集和数问题1:子集和问题的为W,c。其中,W=w1,w2,.,wn是一个正整数的集合,子集和数问题判定是否存在W的一个子集W1,使得

W1=cW(02:问题分析程序中设计了函数

voidputeSumofSub(ints,intk,intr),其意义是从

第k项开始,如果s(已经决策的和数)和wk(当前元素)之和为和数,就把结果输出来,否则如果s与,wk,wk+1之和小于和数,则调用puteSumofsub(s+wk,k+1,r-wk),意为选择此结点的

左分支,再判断s和后面所有元素之和是否不小于M(所有的加起来都小,必定无解),并且s+wk+1M,也是无解),若条件符合即调用puteSumofSub(s,k+1,r-wk),即选择当前结点的右分支。

算法展示:

#includeusingnamespacestd;#include#include#defineM50claSu mOfSubprivate:intwM;intm;intxM;public:SumOfSub(inta,intb, intn)for(inti=0;i=mvoidmain()intsum=0;intwM;srand(unsigne d)time(NULL);for(inti=0;icoutcoutcoutm;sum=m*sum;cout复杂性分析:对于不同的输入结果,算法的执行次数有所不同,最好情况是n,最坏情况是n*2n。尽管差异很大,但当n很大时,对某些输入而言,回溯法仍可在短时间内求解。

其它说明:按书中所讲的约束条件,程序中所有变量都是整型,输入的各元素要从小到大输入,而且不能有重复的元素。

若是想要无序输入,可以程序中加入程序1.c的归并排序算法,对输入的数组排序即可。

拓展一问题描述:子集和数问题拓展一:子集和问题的为

W,c,p。

其中,W=w1,w2,.,wn是一个正整数的集合,子集和数问题判定是否存在W的一个子集W1,使得W1=cW(0问题分析:增加一个数组p,使得p的每个元素与w对应元素关系为pi=Wi+10;最后结果W子集中元素个数越多,则p和最大,但也可以将每个符合条

件子集对应P集合的元素和计算出做个比较,然后输出最大的再对应原W子集。

算法演示

#includeusingnamespacestd;#include#include#defineM50claSu mOfSubprivate:intwM;intpM;intm;intxM;intNM;intmax;intj;pu blic:SumOfSub(inta,intb,intn)max=0;j=0;for(inti=0;iwi=ai; pi=ai+10;m=b;x0=n;voidputeSumOfSub(ints,intk,intr)xk=1;if (s+wk=m)printResult(k);coutelseif(s+wk+wk+1=minti;coutfor (i=0;iS=S+pi;coutcoutcoutif(Smax)max=S;intJ=0;for(i=0;iif (xi=1)NJ=wi;J+;j=J;voidspecial()coutfor(inti=0;icoutcoutf or(inti=0;iwi=rand();if(wi=0)wi=rand();sum=sum+wi;coutcou tm;sum=m*sum;coutr+=wi;sumOfSputeSumOfSub(0,0,r);sumOfSub .special();运行结果复杂性分析对于不同的输入结果,算法的执行次数有所不同,最好情况是n,最坏情况是n*2n。尽管差异很大,但当n很大时,对某些输入而言,回溯法仍可在短时间内求解。

拓展二问题描述子集和数问题拓展一:子集和问题的为W,c,P。其中,W=w1,w2,.,wn是一个正整数的集合,子集和数问题判定是否存在W的一个子集W1,使得W1=cW(0问题分析增加一个数组随机数组P,每个符合条件子集对应P集合的元素和计算出做个比较,然后输出最大的再对应原W子集。

算法演示

#includeusingnamespacestd;#include#include#defineM50claSu mOfSubprivate:intwM;intpM;intm;intxM;intNM;intmax;intj;pu blic:SumOfSub(inta,intb,intn)max=0;j=0;coutfor(inti=0;iwi =ai;pi=rand();coutcoutm=b;x0=n;voidputeSumOfSub(ints,intk ,intr)xk=1;if(s+wk=m)printResult(k);coutelseif(s+wk+wk+1= minti;coutfor(i=0;iS=S+pi;coutcoutcoutif(Smax)max=S;intJ= 0;for(i=0;iif(xi=1)NJ=wi;J+;j=J;voidspecial()coutfor(inti =0;icoutcoutfor(inti=0;iwi=rand();if(wi=0)wi=rand();sum=s um+wi;coutcoutm;sum=m*sum;coutr+=wi;sumOfSputeSumOfSub(0, 0,r);sumOfSub.special();运行结果复杂性分析对于不同的输入结果,算法的执行次数有所不同,最好情况是n,最坏情况是

n*2n。尽管差异很大,但当n很大时,对某些输入而言,回溯法仍可在短时间内求解。

第3篇:

数据结构实_报告

一、概述软件开发的流程二、回顾C语言的基本语法:1、常量(类型)2、变量(类型、定义)3、表达式(例子:三位数的拆分)4、控制语句(if条件语句,例子:饿了吗?for循环语句,例子:做好事问题求解)5、数组(例子:猜数字游戏)三、学生成绩计算系统做好事问题求解:某学校为表扬好人好事需核实一件事,老师找了A、B、C、D三个学生,A说:"不是我。"。

相关主题