摘 要:现在数据结构课程是大学中一门重要的课程,但是其中算法的讲解难免让听者感到枯燥无味且基本算法大多抽象,用语言描述令人难以理解。这时就需要一套完整的算法动态演示系统来帮助大家学习和理解。
该系统的开发是在数据结构基本算法的框架下产生的。 数据结构和算法的结合,图像的代码和动态图像取代了手工解释方案,手写数据的处理,语言描述的困境,以及系统友好的用户体验也反映了计算机的独特特征。
本系统是以所选要演示的算法为对象,来演示算法的核心内容,和算法动态的执行过程为目标的系统。该系统借助于Windows平台,通过VS2010的MFC框架,使用多种算法进行动态绘图,或调用flash和显示gif,包括了图形的处理和数据与图像的关联。
数据结构基本算法演示系统主要有多个界面组成,一个是主菜单界面,主要是选择所需要的算法演示,其他算法都有独立的界面,每个算法界面包括算法执行功能的选择界面和算法的图形的动态演示以及根据算法的不同演示可能包括算法伪代码的演示,以及对栈堆和变量的动态说明,对多个相同类型算法进行演示比较。该系统通过对动态图形的演示,利用执行,暂停,单步,数据管理,说明等实现了算法原理,实例演示,数据变化的同步动态演示。
本文将从多个方面对这个系统整个开发的流程展开详细的描述。
关键词:算法,数据结构,动态演示,VS2010,绘图,多线程
目录
摘要
Abstract
一、引言-1
(一)课题的背景、意义-1
(二)国内外研究现状-1
(三)课题研究的内容、目标和解决的一些相关关键问题-2
(四)可行性分析-2
1.技术可行性-2
2. 使用可行性-2
二、系统平台选择-3
(一)硬件平台选择-3
(二)系统操作平台选择-3
(三)开发工具的选择—VS2010-3
(四)系统组成架构-3
(五)小结-4
三、系统需求分析-4
(一)设计概念和相应的处理流程-4
(二)系统功能详细划分-5
(三)系统各个功能概述-10
1. 主菜单功能-10
2. 排序算法功能描述-10
3. 栈与队列算法功能描述-11
4. 链表算法功能描述-11
5. 二叉树算法功能描述-11
6. 图算法的功能描述-12
(四)设计小结-12
四、系统详细设计-12
(一)整体框架设计-12
1. 算法系统的概念结构设计-12
2. 数据结构基本算法表-15
(二)客户端界面整体布局设计-17
1. 登录界面的美化-17
2. 排序算法功能-18
3.栈与队列算法功能-24
4.链表算法功能-27
5.二叉树界面的功能-29
6.图界面的功能-31
(三)小结-34
五、 总 结-35
参 考 文 献-36
致谢-37