论文部分内容阅读
在学习数据结构的过程中,数据关系的抽象性容易造成学习低效;在一般的程序设计中,数据结构的复杂性往往对调试程序造成一定的困难。在程序执行过程中,应用可视化技术实现算法和数据结构的动态可视,对解决以上的问题有很大的帮助。开发一个可视化类库,可以大大提高相关软件的开发效率。基于上述原因,我们开发了一个数据结构可视化类库JVDSCL(Visual Data Structures Class Library in Java)。 本文首先分析了现有的主要的数据结构类库的不足,进而提出了对可视化技术的需求。同时,对当前软件可视化系统中采用的可视化技术进行了分析与研究。在JCF(Java Collections Framework)的基础上,通过构造可视数据结构类的方法,基本实现了一个数据结构可视化类库JVDSCL。数据结构可视化的关键是实现数据结构的可视图形布局。针对各种不同数据结构图形的可视化需要,作者设计与实现了一个基于工厂方法模式的布局类包DLA_Library(Data structures Layout Algorithms-Library),它包含针对各种数据结构图形的不同显示需要的各种布局算法。应用DLA_Library,可以对各种数据结构图形进行合理的二维布局。 算法演示软件通过图形的方式直观形象地展示算法的执行过程,为理解算法、学习编程和调试程序提供了便利。实现算法演示软件的关键是如何实现动态演示。算法演示引擎为算法动态演示的实现提供了一种解决方案。通过构造算法演示引擎,可以实现交互式的算法动态演示。在设计与实现JVDSCL的同时,作者研究与开发了一个基于JVDSCL的算法演示引擎AAE(Algorithm Animation Engine)。一个基于算法演示引擎的应用包括:算法演示引擎,代码库和数据结构可视化类库。AAE是JVDSCL的其中一个应用实例。结合AAE的开发,设计、实现与验证数据JVDSCL的可行性与可用性。 本文还给出了JVDSCL的其他应用示例并总结了本文的研究工作。JVDSCL可以应用到多种集成开发环境中,用户既可以保留原有的集成开发环境,又可以获得数据结构可视化的功能,便于调试;同时,应用JVDSCL来开发算法演示软件,可以提高软件开发效率。