软件技术基础课程中,数据结构部分知识的教学,大都局限于文字描述,缺乏图示。而 图示往往能使文字描述变得形象化,加速学生对相关结构的理解,在学生的大脑中建立相关 过程的影像。本课题正是在图示的启示下,着眼于数据结构和相关操作过程的图形化,形象 化地展示数据结构在内存中的状态以及变化过程,也就是课题中所谓的“演示”。本课题旨在 通过数据结构的“演示”,帮助学生提高对数据结构的理解,在数据结构和相应“演示”之间 建立映射,使学生跨越枯燥的文字描述。论文网
1。2国内外的研究现状
1。3 论文的主要工作
本课题着眼于数据结构的图形化演示,从软件需求分析开始,确定了课题所要求的四种 数据结构,介绍和分析了它们的定义和相关操作,使用 C++语言编写了库函数并测试通过, 最后使用 MFC 作为开发平台,使用 CPaintDC 类作为图形绘制引擎,使用 Sleep 函数作为时 间控制方法,也就是“触发器”,开发了图形演示程序。本文的具体工作大致如下:
a) 软件需求分析;
b) 扼要介绍涉及数据结构的特点及其操作;
c)阐述程序设计过程;
d) 结合实际,将软件细节具体化。
1。4论文的组织结构
本文分为五章,具体组织如下: 第一章:绪论。介绍课题的背景,调查国内外的研究现状,最后总结了论文的主要工作。 第二章:需求分析与总体设计。通过软件需求分析,确定了程序开发路径和内容,从整
体上阐述了程序的设计思想。 第三章:详细设计与实现。根据每一种数据结构的特点,分析和解决了数据结构操作的
图形化设计的难点,详细地阐述了程序设计的具体过程。 第四章:运行实例与软件测试。对每一种数据结构的操作都进行了大量的测试。 第五章:总结与展望。对课题过程中遇到的困难和现今依然存在的不足进行总结,以及
对可以继续研究的内容进行展望。
2软件需求分析
2。1功能需求
本课题要求,系统能够形象化地展示循环队列、双向链表、二叉树、有向图四种数据结 构在内存中的状态,实现其上的一些基本操作,包括循环队列的出队和入队、双向链表结点 的插入和删除以及二叉树和有向图的遍历操作,并且要求在数据结构的生命周期中可以手动 改变其数据元素的值。另外,系统要具备对操作进行可行性判断的能力。
表 2。1 列出了课题实现的演示操作,这些同时也是四种数据结构的典型操作。其中,初始 化和生成的区别是,初始化是分配好所需的内存空间,而没有数据元素;而生成不仅分配好 所需的内存空间,而且同时通过一定的输入方式,输入数据元素,使结构实例化。有初始化 就必须有销毁,销毁操作虽然很简单,但是很容易被遗忘。释放内存、将指针置空,可以避 免内存泄漏,而忽视销毁操作会使得系统为程序分配的内存空间不能被其它程序使用。
表 2。1四种数据结构
数据结构 操作
循环队列 初始化、销毁、入队、出队
双向链表 初始化、销毁、插入和删除结点、改变结点值
二叉树 生成和销毁二叉树、先序、中序、后序遍历
有向图 生成和销毁有向图、广度、深度优先遍历
对上述要求进行分析可以得出,必须首先用 C++编写四种数据结构的定义和操作函数, 然后才能利用 MFC 平台进行图形编程。
2。2性能需求文献综述