论文部分内容阅读
计算机科学的进步与发展,使得算法变得高效的同时,也越来越复杂。算法的抽象逻辑以及其自身的这利复杂性,使得越来越多的学习者对算法的学习和理解都普遍感到困难。因此,算法演示作为软件可视化的一个重要分支,被越来越多的人所关注和应用。
所谓算法演示,就是利用图形和动画对算法的内在运行过程进行展示,使得学习者能够更好的理解算法。本文针对目前算法演示中存在的代码混乱、可阅读性差以及可重用性低等问题,提出了通过构建算法的程序上下文模型,采用模型驱动的方式进行算法演示。围绕着模型驱动算法演示的思想和架构,在理论分析的基础上,从算法本身定义的角度出发,设计并描述了算法的程序上下文模型。同时,又考虑到目前的一些算法使用了一定的算法设计技术,并且理解算法设计技术对学习者理解算法是有帮助的。因此,提出了将算法设计技术作为算法的另外一种信息,根掘其图形的表现形式,在程序上下文模型中进行描述,并对其进行动画演示。
此外,在设计了程序上下文模型后,本文还通过具体的实例对其进行了详细地说明。同时,在模型驱动算法演示的理论基础之上,设计并实现了Hanoi塔问题递归算法、N皇后问题递归回溯算法以及遗传算法共三个算法的程序上下文模型,并利用面向方面技术,对其进行了具体的动画演示。最后,本文对模型驱动算法演示思想以及实验的演示效果进行了分析和总结,指出了模型驱动算法演示的优势以及不足,并为进一步的研究指明方向。