数据结构课程设计(**)任务书。
课程设计(**)题目二叉树有关操作实现。
1.本课程设计的目的。
1)巩固和加深对数据结构基本知识的理解,提高综合运用课程知识的能力。
2)使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。
3)使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。
2.课程设计的任务及要求。
1)基本要求:
1)系统设计要能完成题目所要求的功能;
2)编程简练,可用,尽可能的使系统的功能更加完善和全面;
3)说明书、流程图要清楚;
4)提高学生的**写作能力;
5)特别要求自己独立完成;
6)要同时上交纸质**和源程序。
2)创新要求:
在基本要求达到后,可进行创新设计,如改善算法性能、友好的人机界面。
3)课程设计**编写要求。
1)要按照学年**的规范写作课程设计**;
2)**包括需求分析、概要设计、详细设计(源**)、调试分析及测试、总结、参考文献、附录等。
学生签名:
2024年月日。
目录。一、需求分析 1
二、概要设计 3
三、详细设计 5
四、调试分析及测试 8
五、总结 12
参考文献 13
附录 13二叉树是树形结构的一个重要的类型,二叉树是n(n>=0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不相交的、分别称作这个根的左子树和右子树的二叉树组成。二叉树的存储结构和算法比较简单,特别适合计算机处理。即使一般形式的树也可简单的转换为二叉树。
二叉树的顺序存储结构是把二叉树的所有结点,按照一定的次序顺序,存储到一片连续的存储单元中。遍历二叉树就是沿某条先序、中序、后序搜索路径周游二叉树,对树中每个结点访问一次且仅访问一次。在访问方案中主要是先序遍历、中序遍历、后序遍历。
现实中有好多应用到二叉树的例子,所以我们要把理论与现实结合起来。在学习中主要掌握怎么求二叉树的高度、叶子结点个数、总结点个数以及熟练三种遍历的方法。
1.1 选题理由。
这个课题所涉及的知识比较多,比如有:栈和队列、递归以及c语言的一些较基础知识等,选此课题能够对自己进行自我锻炼,而且可以让自己对一些基础知识加深理解和掌握,还可以进行一些知识拓展。
1.2 涉及到的知识点。
本次课程设计中,用到的主要知识有:递归法、栈和队列的掌握、以及二叉树的相关知识。
1.3 功能要求。
1)按先序次序输入二叉树中结点的值(一个字符),空格字符表示空树,构造二叉链表表示的二叉树t
2)采用递归算法(先序、中序、后序、层序)进行二叉树遍历;
3)采用非递归算法(先序、中序)进行二叉树遍历;
4)求二叉树的树深、统计叶子结点的个数。
5) 判断二叉树是否等价;
6)判断此二叉树是否为完全二叉树,若是,返回“1”,若不是,返回“0”。
7)交换其左右子树,并输出交换后进行各种遍历结果。
2.1 数据结构。
typedef struct bitnodebitnode,*bitree; /数据结构树的定义。
typedef bitree selemtype;
typedef struct
* +e;return ok;
status stackempty(sqstack s)
status queueempty(linkqueue q)
status creatbitree(bitree &t)
return ok;
}//creatbitree
递归的先序遍历二叉树算法。
status preordertr**erse(bitree t,status(*visit)(telemtype))
数据结构课程设计
课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...
数据结构课程设计
数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...
数据结构课程设计
班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...