链表算法库实现及其可视化演示软件文献综述
2020-04-14 22:15:02
在计算机科学领域,数据结构是程序设计中最基本的内涵,一个设计好的程序,能否快速而高效地完成应的任务,取决于数据结构的选择,因此数据结构是计算机科学与技术专业的一门核心课程,也是计算机软件和应用工作者必备的专业基础。掌握扎实的数据结构知识有助于理工科学生进一步学习计算机技术,尤其对于程序设计初学者而言,如果得到直观的类链表结构可视化手段辅助,则可以大大地提高程序调试效率。因此数据结构可视化技术在目前程序设计辅助教学领域有了明显的需求。
但目前主流的商业化集成开发环境包括 MicrosoftVisual studio、Eclipse 和IDEA 等都仅是提供了对应用程序的可视化界面的开发支持,并不能实时地对程序中复杂数据之间的抽象关系进行可视化[9]。数据结构可视化首先起步于国外的算法可视化演示系统的发展。数据结构可视化首先起步于国外的算法可视化演示系统的发展。马其顿大学开发的JAVENGA [1] 研究了将图或者网络的数据进行可视化布局的算法,但并未针对程序中的数据结构可视化。桥港大学开发了一个 Simple Algorithm Animator [2] 系统,可以对一种JavaMy 程序中的数据结构进行可视化,以帮助程序设计初学者理解程序执行过程,但不能与程序调试相结合。亚利桑那大学开发的 jGrasp [3] 则可以针对预定义的数据结构进行动态可视化,并且可以单步调试,然而并不能识别用户自定义的数据结构。Karavirta V 等人 [4] 提出了一个 JavaScript 算法可视化开发库,提供了一套算法可视化接口,但仍然缺乏与程序调试结合的联动调试机制。直至近年,Stojanova A 等人[5] 提出了一个具备可视化特征的 VARK(视觉、听觉、阅读或写作和 Kinesthetic)模型,并将其应用于整体的数据结构和算法课程教学过程中。
在国内,曹勇锋 [6] 开发了一个数据结构可视软件原型及部分可视化类库,可提供与程序执行过程同步演示典型数据结构的实时视图。杨晓波等 [7] 开发了一套数据结构可视化 CAI 软件,同时借助 Camtasia studio 等软件制作交互式微课。崔丹阳等 [8] 基于数据可视化设计模型及可视化展示技术,实现了一个具备基本的数据可视化的系统。
数据结构可视化是程序调试可视化的主要内容,通过数据结构的自动抽象和识别,采用合理的可视化布局动态演变算法与数据结构的变化过程,便于程序员对程序执行过程作直观的理解。本课题将针对性地以链表的算法库可视化演示为主,完成一个具备基本的链表算法库可视化的图形演示。
参考文献:
[1] BaloukasT.JAVENGA:Java-basedVisualization Environment for Network and Graph Algorithms[J].ComputerApplications in Engineering Education, 2012, 20(2):255-268.
[2] ChenT, Sobh T. A tool for data structure visualization anduser-defined algorithm animation[J].2001, 1(3): 33-41.
[3]Miller A, Reges S, Obourn A. jGRASP: a simple, visual,intuitive programmingenvironment for CS1 and CS2[J]. AcmInroads, 2017, 8(4): 53-58.
[4] Karavirta V, Shaffer C A. Creating EngagingOnlineLearning Material with the JSAV JavaScript AlgorithmVisualizationLibrary[J]. IEEE Transactions on Learning Technologies, 2016, 9(2):171-183.
[5] Stojanova A, Stojkovikj N, Kocaleva M, et al.Application of VARK learning model on “Data structures andalgorithms”course[C]// Global Engineering Education Conference.IEEE,2017:613-620.