学位论文---双向循环链表的创建及相关操作的实现课程设计说明书.docVIP

  • 3
  • 0
  • 约1.36万字
  • 约 31页
  • 2016-11-23 发布于辽宁
  • 举报

学位论文---双向循环链表的创建及相关操作的实现课程设计说明书.doc

山东建筑大学题 目: 树的创建及相关操作的实现 课 程: 院 (部): 专 业: 班 级: 学生姓名: 学 号: 指导教师: 完成日期: 目 录 课程设计任务书1 III 课程设计任务书2 IV 双向循环链表的创建及相关操作的实现 6 一、问题描述 6 二、数据结构 6 三、逻辑设计 7 四、编码 8 五、 测试数据 13 六、测试情况 13 树的创建及相关操作的实现 17 一、问题描述 17 二、数据结构 17 三、逻辑设计 18 四、编码 21 五、 测试数据 28 六、测试情况 28 结 论 30 参考文献 31 课程设计指导教师评语 32 山东建筑大学计算机科学与技术学院 课程设计任务书1 设计题目 双向循环链表的创建及相关操作的实现 已知技术参数和设计要求 1、建立一个空表 2、插入第i个结点。 3、删除第i个结点。 4、插入第1个结点。 5、插入最后一个结点。 6、逆置 设计内容与步骤 设计存储结构 设计算法 编写程序,进行调试 总结并进行演示、讲解 设计工作计划与进度安排 做双向链表创建方法 做双向链表各种操作方法 设计考核要求 考勤20% 课程设计说明书50% 成果展示30% 指导教师(签字): 教研室主任(签字) 山东建筑大学计算机科学与技术学院 课程设计任务书2 设计题目 树的创建及相关操作的实现 已知技术参数和设计要求 1、利用先序遍历和层次遍历的结果建立二叉树 2、实现二叉树的层次遍历 3、统计二叉树叶子结点的个数(递归)。 4、将二叉树左右子树相互交换(递归) 设计内容与步骤 1.建立结点类 2.构造BinaryTree() 3.建立线序遍历树 4.建立层次遍历树 5.实现树的层次遍历 6.统计叶子结点个数 7.交换左右子树 8.输出树的方法 设计工作计划与进度安排 6月13日,实验课下完成先序遍历建树,16月14日课程设计时间完成层次遍历建树 6月16日课下完成层次遍历和叶子节点个数统计 6月18日课程设计时间完成二叉树左右子树相互交换 6月19日完成测试函数及纠错 设计考核要求 考勤20% 课程设计说明书50% 3、成果展示30% 指导教师(签字): 教研室主任(签字) 双向循环链表的创建及相关操作的实现 一、问题描述 1、每个节点的next域构成了一个循环单链表 2、每个节点的prev域构成了另一个循环单链表 二、数据结构 针对所处理的树: 1、画出双向循环链表的存储结构 2、使用所选用语言的功能,描述该存储结构的实现 private static class NodeAnyType { AnyType data; NodeAnyType prev; NodeAnyType next; } 三、逻辑设计 1、总体思路 对于双向循环链表,建立一个空表,然后实现双向循环链表的插入,删除操作。 为了便于逆置的操作,选择建立一个带头节点的双向循环链表,插入第一个节点和插入最后一个节点,只需要在0号位置和size()位置插入节点就行。 2、模块划分(以图示的方法给出各个函数的调用关系) 3、函数或类的具体定义和功能 class NodeAnyType//节点类定义 public class DlList AnyType//循环链表主类 public boolean add(int idex, AnyType x)//链表插入操作 public AnyType remove(int idex )//链表删除操作 private void inverse()//链表逆置 四、编码 import java.util.Scanner; class NodeAnyType{ public AnyType data; public NodeAnyType prev; public NodeAnyType next; public Node(){ data=null; prev=null; next=null; } public Node(AnyType d){ data=d; prev=null; next=null; } public Node(AnyType d,NodeAnyType p,NodeAnyType n){ data=d; prev=p;

文档评论(0)

1亿VIP精品文档

相关文档