C++数据结构算法演示系统设计(2)
时间:2016-12-10 11:38 来源:毕业论文 作者:毕业论文 点击:次
数据结构是一门专业基础课.其中的很多算法复杂且难以理解。通常的教学手段很难使学生清楚了解算法的各个环节。针对这种情况我们开发了数据结构算法演示系统。它能够模拟执行算法的每个步骤。把复杂的算法生动、直观的演示,使学生更好的理解和接受。 1.需求分析 1.1 解决问题 做为一个数据结构演示系统,首先我们确定要演示的内容;接着,对四种算法的说明也是必不可少的,这样配合演示,可以达到更好地效果;最后,做个详细的操作过程,让使用者更好地操作系统。 整个系统使用菜单驱动方式,每个菜单包括若干选项。每个菜单项对应一个动作或一个子菜单。系统一直处于选择菜单项或执行动作状态,直到选择了退出动作为止,它分别演示了数组、堆栈、队列、线形表、树、图等基本数据结构的概念。 在数据结构中包含了大量的算法,由于这些算法都很抽象,不易于理解,使得同学在学习这些算法的时候,往往走很多弯路。为了能使同学更好的理解数据结构算法,开发了“数据结构算法演示系统”,该系统包括:线性表、堆栈、队列和树等算法的演示,可以给同学在学习这些算法的时候,不再抽象,通过动态的演示,进而更生动,更具体的理解这些算法。 1.2 具备功能 系统由程序、数据结构、概念模块、帮助四个部分组成。 本设计主要是设计并完成了数据结构算法演示系统。该系统的实现要分为四个个主要的模块,分别为:线性表、堆栈和队列、树模块。每一个模块有自己各自的子模块。 线性表又分为链表模型、链表操作两个部分,分别对应表的算法演示; 堆栈和队列分为基本堆栈、基本队列三个部分,分别对应堆栈和队列的算法演示; 树为数组二叉树。 该系统可适应用户对算法的输入数据和过程执行的控制的不同需求,在计算机的屏幕上显示算法执行过程中数据的逻辑结构或存储结构的变化状况或递归算法执行过程中栈的变化状况。 概念模块由线性表说明、堆栈说明、队列说明、树说明组成,对各数据结构的算法说明。在数据结构中包含了大量的算法,由于这些算法都很抽象,不易于理解,使得同学在学习这些算法的时候,往往走很多弯路。为了能使同学更好的理解数据结构算法,开发了“数据结构算法演示系统”,程序部分由退出组成,完成系统的终止。 2. 系统总设计 2.1开发工具及运行环境 开发工具是C++Builder6.0,运行环境是它保留了使用Framework(如:OWL、MFC)的开发方式,融合了Visual Basic、Delphi等开发工具的面向组件的开发方式。C++ Builder的集成开发环境提供了120多个VCL组件,使开发人员不需太多编码,就能够实现很多复杂的功能,体现了软件的“重用性”原则。C++ Builder的用户界面也非常友好,易于使用,并且采用了停驻式(docking)工具条,可以自由组合集成开发环境窗口和工具条的排放方式。 2.2系统结构 主菜单模块由数据结构、概念模型、帮助、程序四个部分组成。如图1所示。 图1系统模块图 3.详细设计 3.1主菜单 主菜单主要由一个菜单控件、一个显示文本、三个按纽、二个可供长文本输入/出等七个控件组成。作为一个演示系统的菜单,给人一个直观的感觉,有个醒目的标题,通过一个菜单控件,连接设计的各种数据结构的算法演示;两个文本输入,用于对算法的说明,辅助使用者对算法的学习;作为一个系统,一个帮助模块是不可缺少的。 (责任编辑:qin) |