文/温春玲
摘 要:基于Android平台设计并实现了数据结构课程教辅演示系统。以动画的形式在移动终端设备上演示数据结构典型算法的执行过程,用户可以与之进行交互,输入不同的初始数据后,系统可以动态演示算法的具体执行过程。该系统提高了数据结构课程学习的趣味性和直观性,并且可以在任何地点进行学习,具有较高的灵活性。
教育期刊网 http://www.jyqkw.com
关键词 :Android 数据结构 课程算法 动画演示
数据结构课程,传统的教学方法缺少直观性和动态性,很难形象地使学生理解相关知识点。基于此,出现了一些数据结构算法的动画演示系统,其输入一些初始数据即能以动画的形式演示算法的整个执行过程,提高了学生的学习效率。但是这些系统都是基于PC机设计实现的,学生学习场地受到了限制。如果将该系统在智能手机或平板电脑上实现,将极大地提高该系统的方便性。为此,我们设计并实现了基于Android平台的数据结构课程教辅演示系统。
一、系统功能设计
该系统是一个基于Android的动态演示数据结构算法执行过程的辅助学习软件,它可根据学习者输入的算法初始数据以及算法执行过程中控制方式的不同在Android终端设备具有不同的显示效果,包括算法执行过程中数据逻辑结构或存储结构的变化情况以及递归算法执行过程中栈的变化情况等。整个系统使用触摸按钮驱动方式,设计多个按钮选项。每个按钮选项对应一个动作,系统将一直处于选择按钮项或执行动作状态,直到选择了退出动作为止。整个系统的功能设计如下。
一是动态演示数据结构典型算法的执行过程,包括顺序表、链表、二叉树、图以及排序等。二是算法执行过程中跟踪变量的值。三是算法执行过程中动态显示相应的C语言代码。四是具有暂停、恢复运行、单步运行、复位等控制功能。
二、系统主界面设计
数据结构算法演示系统主界面设计启动各个算法的按钮,通过这些按钮启动每个算法演示界面。算法演示的图形用户界面采用的模板有几个主要区域,每个区域对应一个组件。
一是主窗口:包括标题栏和工具栏,用来实现系统控制。
二是动画演示区:以图形和动画的方式模拟和显示算法执行的过程和结果。
三是源代码区:用来显示类C语言编写的算法描述。为了更清楚地描绘算法的执行过程,当程序运行到当前行时,用一条高亮度光带罩住此语句,表示该语句被执行。在系统的主界面中,利用GridView布局,显示功能选项,并在布局下方添加“帮助”和“退出”按钮。主界面的设计风格简约大方,操作方便。系统主界面及帮助界面如图1所示。
三、系统功能实现
以顺序表为例阐述系统功能的实现。在顺序表模块中,二级菜单中提供了顺序表的插入和删除选项。选择顺序表的插入或者删除后进入初始化界面,设置顺序表中的元素、插入变量以及插入位置,确认后将进入算法演示的主窗口。主窗口的工具栏包括执行、暂停、单步和重置。动画演示区的图形模拟是在原有的布局中通过添加TextView控件,生成新的布局进行算法的动画演示。源代码区是定义代码字符的数组,利用初始化函数接收数组中的元素,并根据数组长度添加TextView控件的个数,循环将TextView中的内容添加为代码字符数组中的元素。这样,实现的顺序表模块的界面如图2所示。
图3所示活动图,描述了顺序表模块的执行过程。
四、小结
基于Android平台实现了数据结构算法动画演示系统,作为数据结构课程的教辅软件,实现了数据结构中典型算法,包括顺序表插入、链表插入、二叉树的遍历以及起泡排序等算法的动画。该系统对算法的执行过程进行动态模拟、代码同步跟踪,并在算法执行过程中可选择单步执行、暂停、重置等功能。该系统作为Android的App形式,使其下载安装方便,容易携带,随时随地进行辅助学习,并且具有良好的交互性,对提高数据结构课程学习效率起到较好的辅助作用。
(作者单位:青岛市化学工业职工中等专业学校)