数据结构可视化类库的设计与实现
2015-10-21周萍
周萍
【摘要】在当前我国的计算机技术得到迅速发展过程中,在软件的设计开发领域也有了很大幅度的进步,其中在数据结构可视化方面是软件可视化的一个重要分支领域,在数据结构和算法的方面上最为艰难的就是其抽象性以及动态性,在获取的数据手段的逐渐增多的发展下,一些大规模的科学研究对数据量的处理也随之增多。本文主要就数据结构可视化类库的设计以及实现进行分析探究,希望能够通过此次的研究对实际起到一定的指导作用。
【关键词】数据结构;可视化;设计
引言
在我国的科学技术得到迅速发展的过程中,科学计算的工作量也开始变得愈来愈大,可视化的方法能够有效的帮助工作人员进行获取更多的信息,从而更为直观的来对计算的结果进行分析。由于受到计算机性能以及软件平台限制,在最初的可视化软件系统方面都是在高性能图形工作站进行发展的,对数据结构可视化类库的设计能够有效的将效率得到提高。
1.数据结构可视化类库设计的重要性及目的
1.1数据结构可视化类库设计的重要性。在使用以及学习数据结构和程序设计过程中,实现数据结构的可视化能够有效的提高对数据结构的直观分析,从而加深理解。在对程序进行调试的过程中,通过数据结构可视化类库能够有效的将编程的效率得以提高[1]。从目前的发展情况来看,已经有了诸多的应用广泛的可视化集成开发环境,其中最为常见的就是Visual C++等,这些可视化的集成开发环境简化了程序界面的设计,对编写界面的程序降低了难度,从而有效的提高了软件的开发效率。
1.2数据结构可视化类库设计的目的。在数据结构可视化类库设计的目的上就是使得JVDSCL能够比较容易的在不同用途中进行应用,这就是要加强其灵活性,JVDSCL能够直接的应用到软件应用程序的开发方面,在开发人员方面也能够通过JVDSCL来进行对新的数据结构进行构造,另外就是加强其可靠性的目的,在这一方面是JVDSCL的最为主要的目的,还有就是面向对象的目的,数据结构是JVDSCL的主要对象,同时算法也是对象,它们保存运行的结果以及提供访问结果的接口[2]。
2.数据结构可视化类库的设计和实现探究
2.1数据结构可视化类库的设计探究。在对数据结构可视化类库进行设计的过程中,要对问题进行综合性的考虑,其中在JVDSCL方面它主要是在Java集合库基础上来进行对原有的数据结构类中进行的扩展,与此同时也在这一过程中添加了相应的较为复杂化的数据结构,最为常见的就是树图。在JVDSCL过程中对可视化数据结构进行构造来实现数据结构的可视化,而这一可视化的数据结构也是在Java集合库当中的原有数据结构类的操作基础上进行的,另外就是增添了一些可视属性以及对可视化的接口进行了提供。在每种数据结构都会有着多种显示的模式,这就需要开发人员进行有机的选择,而在JVDSCL当中,对于每种数据结构会有这多种布局的方法来对其加以布局。
在对数据结构可视化类库进行设计的内容上主要就是基本的可视化接口的设计以及显示模式和布局方法。其中在可视化接口的设计方面,最为主要的接口就是V Collection接口,它不仅是能够提供Collection接口的基本方法,同时也提供可视化接口,在这一内容上主要有 void draw,操作上就是重画指定的数据结构,通过display Mode参数值来决定选用的显示模式,在这一接口中的参数c是表示数据结构所显示的颜色[3]。在显示模式的设计当中,JVDSCL的每种数据结构都会有不相同的显示模式,如下图所表示的两种模式。
另外,在布局的设计上,关于数据结构可视化的关键问题就是图形的布局问题,这对于相关的研究人员对数据结构和算法的效果理解有着非常密切的关系。而在JVDSCL当中的最为主要的就是线性布局的方法以及图布局的方法,针对于每种不同的布局在算法的实现上也是不同的[4]。其中在线性的布局方面,主要是能够适用于队列和线性表的数据结构,在对线性的布局方法上其基本的算法框架就是获取数据的元素个数以及依靠着所显示大小和数据元素个数进行对布局的大小值进行计算。如下图所示。
在图布局的设计方面在算法上是属于二维弹性模型的算法,最为基本的思想就是在二维平面上进行计算。这一方法比较的适合图等数据结构,在JVDSCL当中能够提供的多种算法实现图的可视化,其中有基于遗传模拟退火算法图的三维可视化以及以上所说的二维弹性模拟算法等。可视化技术的主要目的就是来辅助人们增强认知上的能力,而在計算机的可视化技术方面能够将其作为是信息的处理工具,以此来考虑多样化的样本以及变量和联系。
另外,对于只描述节点间的关系的数据可以通过树布局的方法进行确定树节点的坐标,其最基本的方法就是若树非空后跟遍历树,在这一方法上主要就是先设置整棵树的最左下的结点位置,从左到右要进行依次遍历结点的每棵子树然后再返回子树的结点位置进行设定下一棵子树最左结点的位置。主要就是要能够满足所有的树节点不相交不重合,要能够等距排列,还有就是所有的叶子节点相对于根节点要成等要排列。
2.2数据结构可视化类库的实现分析。在数据结构的可视化类库的实现方面由于本论文的篇幅有限简要进行讲述,数据结构动态演示系统演示了各种不同算法的数据结构变化的过程,这还需要相关的设计人员在大量的画图操作上得以实现,比如对链表的结点的绘制,对于JVDSCL的应用就不需要自己来编码就能够实现画图的操作,在动态演示系统方面有了很大程度上的层次性提高,在这一过程中设计人员不需对数据结构的布局进行考虑,在JVDSCL自身已经有了布局的功能,只需要根据自身的的需要来进行重写即可实现。另外,在对数据结构中的draw()进行调用也能够有效的实现数据结构的可视化。
3.结语
总而言之,对于数据结构的可视化类库的设计以及实现能够有效的将软件的重用性和扩展性得到提高,在JVDSCL的基础上进行对其加以设计,对软件的开发设计的效率有了明显的提高,在未来我国的软件技术设计水平不断提升的过程中,也定能够在这一领域取得更加优异的设计成果。
参考文献
[1]杨晓波,陈邦泽.数据结构课程实践教学体系研究[J].实验技术与管理,2013,(08).
[2]冯月华.《数据结构》课程改革下的一堂教学实例——最小生成树[J].陇东学院学报,2014,(03).
[3]张建娇.计算机软件基础数据结构之算法分析[J].无线互联科技,2013,(10).
[4]牛小飞,李盛恩,张冬梅,宋玲,汤晓兵.关于数据结构中递归的教学探讨[J].山东建筑大学学报,2011,(06).