【毕业论文】基于VC的图的遍历算法的动态演示系统的设计与实现 下载本文

摘 要

《数据结构》作为信息类专业的一门核心专业课,对《编译原理》等后续课程的学习极其重要。

传统的《数据结构》算法是基于以Turbo C为代表的DOS开发坏境,可视化效果很差。而这种坏境给学习者的理解和深入探讨带来很大的问题。本设计从对数据结构图的算法的深入研究开始,在Visual C++的编程坏境下,致力于开发一套专门帮助学习者理解数据结构算法的动态演示系统。该系统将可视性,交互性和可扩展性紧紧的结合在一起,能大大改善传统教学的弊端,使复杂的难以理解的数据结构算法通过教师的课堂演示和学习者的不断自我交互式操作试验变得通俗明朗,有效地提高教学的质量和效果。

关键字:动态演示系统;Visual C++

Abstract

The data structure as a core of information specialty courses, learning to follow-up such as the compiling principles of course extremely important.

Traditional algorithm is based on the data structure to DOS development represented TurboC borders, very poor visual effects. And this bad border to the learner's understanding and in-depth discussions cause great problems. The design starts from the in-depth study on data structure algorithm, programming in Visual C++ under bad border, is committed to developing a set of specialized help learners understand data structure algorithm of dynamic demo system. The system of Visual, interactive combination of scalability and tightly together, can greatly improve the shortcomings of traditional teaching, so that complex, difficult to understand the data structure algorithms through teachers ' classroom presentations and continuous interactive operation test of learners becoming popular is clear, effectively improve the quality and effectiveness of teaching.

Keywords: dynamic demo system; Visual C++

第1章 系统开发平台与环境

1.1 选题背景

1.1.1 课题来源

《数据结构》作为信息类专业的一门核心专业课,对《编译原理》等后续课程的学习极其重要。但该课程涉及大量的概念、定义、模型和算法,尤其是图的算法显得很抽象和深奥。用传统的“粉笔+黑板”形式很难将算法的执行过程动态地演示出来,影响了教学效果。

传统的《数据结构》算法是基于以TurboC为代表的DOS开发坏境,可视化效果很差。而这种坏境给学习者的理解和深入探讨带来很大的问题。后来,随着多媒体技术的发展,《数据结构》的教学开始运用教学幻灯片的形式来讲授,这些教学幻灯片大多数都是静态的图片或者是一些基本的算法。这种教学模式弥补了传统的黑板板书的不足,较大地提高了教学质量。不过这种教学模式在可视性和交互性方面都存在较大的不足。目前,还有一种教学模式是采用flash动画演示并配加一定的文字说明的方式,这种方式可以在很大程度上揭示算法原理,唯一的遗憾就是这种动画演示的内容不是很全面,而且在与学习者的交互性方面存在不足,不能让学习者自己输入相关的参数。

因此有必要对图的算法的动态演示进行研究,设计《数据结构》算法演示系统,,帮助学生更快地掌握算法的精髓与实质。 1.1.2 本课题的研究意义

本设计从对数据结构图的算法的深入研究开始,在Visual C++的编程坏境下,致力于开发一套专门帮助学习者理解数据结构算法的动态演示系统。该系统将可视性,交互性和可扩展性紧紧的结合在一起,能大大改善传统教学的弊端,使复杂的难以理解的数据结构算法通过教师的课堂演示和学习者的不断自我交互式操作试验变得通俗明朗,有效地提高教学的质量和效果。 1.1.3 课题的关键技术

本系统的核心技术为深度优先搜索遍历算法与图的广度优先搜索遍历算法的动态演示技术研究及其实现。

1.2 系统开发平台Microsoft Visual Studio 2008

微软发布了.NET开发平台,这是自1993年7月随着Windows NT3.0出现的Win32 API后微软软件开发平台的第一次大升级。比起Win16来,Win32提供了更多功能强大的API,但没有对工具和技术进行引人注目的改变。与之不同的是,.NET开发平台在开发者用以创造应用程序的工具和技术上做了根本的改变。

.NET开发平台使得开发者创建运行在Internet Information Server (IIS)(互联网信息服务器)Web服务器上的Web应用程序更为容易,它也使创建稳定、可靠而又安全的Windows桌面应用程序更为容易。 .NET开发平台包括以下内容:

.NET Framework(架构),包括:Common Language Runtime(CLR)(通用语言运行环境),这是用于运行和加载应用程序的软件组件;新的类库,分级组织了开发者可以在他们的应用程序中用来显示图形用户界面、访问数据库和文件以及在Web上通信的代码集。

.NET开发者工具,包括:Visual Studio .NET Integrated Development

Environment (IDE)(Visual Studio .NET集成开发环境),用来开发和测

试应用程序;.NET编程语言(例如Visual Basic .NET和新的Visual C#),用来创建运行在CLR下并且使用类库的应用程序。

·ASP .NET,一个取代以前的Active Server Pages (ASP)的特殊类库,用来创建动态的Web内容和Web服务器应用程序,这些都将采用诸如HTML、XML和Simple Object Access Protocol(SOAP)(简单对象访问协议)等Internet协议和数据格式。

.NET开发平台是一组用于建立Web服务器应用程序和Windows桌面应用程序的软件组件,用该平台创建的应用程序在Common Language Runtime

(CLR)(通用语言运行环境)(底层)的控制下运行。CLR是一个软件引擎,

用来加载应用程序,确认它们可以没有错误地执行,进行相应的安全许可验证,执行应用程序,然后在运行完成后将它们清除。类库集提供了使应用程序可以读写XML数据、在Internet上通信、访问数据库等的代码。所有的类库都建立在