数据结构程序实l习报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
----------专业最好文档,专业为你服务,急你所急,供你所需------------- 文档下载最佳的地方 ----------专业最好文档,专业为你服务,急你所急,供你所需------------- 文档下载最佳的地方 数据结构程序实习报告 一:约瑟夫环问题 (1)问题描述: 设有编号为1,2,3……n的n个人顺时针方向围坐一圈,每人有一密码(正整数)。开始时给出一报数上限,从编号为1的人开始报数,报m的人出列;以后将出列者的密码作为新的m,从顺时针方向紧挨着他的下一个人开始报数……直至所有人出列。试编一算法,求出出列顺序。 (2)编程思想: 首先人为地输入要参与的人数m,和要求第一次出列的人的序号n。 然后根据输入的m值构造一个单向环链,每一个节点包括序号域(每个人各自的序号),密码域(记录当他出环后下一个出环的人是从他数后面的第几个人,由随机函数random()+1生成,加一的目的是防止生成数为零),链域(链接下各结点)。 然后再主程序总主要通过一个while循环实现功能,流程图如下: 数据输入 是 输出此人 否 i=m 确定m值 向下循环链表 是 退出 h=h-link 生成环链 否 二:迷宫问题 问题描述: 由0和1构成的n维方阵M表示一个迷宫,其中0表示通路,1表示墙壁。迷宫入口为(1,1),出口为(n,n)。试编一算法求出从入口点到出口点可沿八个方向前进的一条通路。 编程思想: 该程序主要由一个递归函数和一个栈来完成任务。首先随机生成一个迷宫,维数由人为给定,然后通过调递归函数和栈来寻找路径,直到找到出口,找的过程中主要在当前节点的四周找,如果找不到任何通路,则返回到生成迷宫的那一步再次生成一个迷宫,直到找到一条通路为止。流程图如下: 程序结束 输出结果 返回头指针给主函数 是 是 栈空 未找到 到出口 找到 向下寻0 将入口压入栈 生成迷宫 输入维数 退栈且修改节点值 将找到位置压入栈,修改节点值 否 否 三:二叉树问题 问题描述: 已知一棵二叉树的前序ABDFIGCEHJ,中序序列为BIFDGAEJHC、试设??完成下列任务的一个算法: ?构造此二叉树 ?证明构造的正确性(即分别按先序和中序遍历该树,将所得的结果与给出的序列进行比较) 编程思想: 根据二叉树的先序序列和中序序列的关系,可以逐个确定各个节点的位置, 此程序主要通过递归函数来构造二叉树的二叉链表存储结构,然后输出结果以便校对。具体流程如下: 调用递归函数找到右孩子 输入先序及中序序列 生成头节点 确定左右子树元素 调用递归函数找到左孩子 返回头节点到主函数 输出先序及中序序列及每个节点的左右孩子 程序结束 四:调试技巧 在调试中最大问题就是指针问题,尤其是有时候程序可以执行但是结果不对 在调试过程中主要积累了以下几条经验: 若遇到调试不通过的情况,不要单看出错的地方,还要仔细检查可能的其他错误; 当遇到结果不对时,最好用F7逐步执行,执行一步就看一下结果,以便查处问题所在; 如果需要的话可以设一些断点以便随时观察变量的变化情况。

文档评论(0)

zzabc003 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档