一种数据结构动态可视化方法和系统技术方案

技术编号:34935677 阅读:13 留言:0更新日期:2022-09-15 07:32
本发明专利技术公开了一种数据结构动态可视化方法和系统,通过当接收到数据结构集时,对数据结构集内的各数据结构进行线性转换,分别得到对应的线性结构。以预设的可视化配置表,识别和提取线性结构中的节点和指针,并进行相应的布局,确定节点和指针的位置,从而得到数据结构对应的多个目标模型对象。按照可视化配置表分别对各个目标模型对象进行图形映射,得到数据结构集对应的目标图形对象,比对目标图形对象与历史图形对象,确定更新图形并渲染,得到数据结构集对应的图形动画。只需要输入数据结构对应的数据,定义数据结构的样式和布局配置,就能实现数据结构动态可视化,不需要对每个数据结构编写可视化程序,降低数据结构的动态可视化开发成本。态可视化开发成本。态可视化开发成本。

【技术实现步骤摘要】
一种数据结构动态可视化方法和系统


[0001]本专利技术涉及数据结构可视化
,尤其涉及一种数据结构动态可视化方法和系统。

技术介绍

[0002]程序设计可视化是编程学习中的一种常用且有效的降低程序调试难度的方案,而通过数据结构可视化技术进行数据结构可视化,展现一个数据结构内部各个节点之间、以及各个数据结构之间的逻辑关系,是程序设计可视化的一个重要发展方向。
[0003]数据结构可视化技术通常可分为静态可视化和动态可视化两种,静态可视化偏重展示,关注某个时刻的数据结构的状态进行完整的绘制和呈现,采用静态可视化方法时,不能表现“数据结构变化前的可视化视图”和“变化后的可视化视图”之间的过渡衔接过程。而动态可视化可以以一种平滑自然的方式对可视化视图进行相应的更新,完整呈现数据结构变化前后造成的差异,使得两个数据结构的可视化视图间可以平滑地衔接,改善用户对可视化图形之间变化的图形感知,因此,用户在编程学习过程,通过使用动态可视化方法可以清楚地体会到数据结构是如何变化与运作的,更能深刻地掌握和理解数据结构。
[0004]但数据结构有许多种类型,每种数据结构在可视化的呈现又各不一致,而现有的数据结构动态可视化方法需要为每种数据结构单独编写其专门的可视化程序,才能实现数据结构动态可视化,导致开发的成本高。

技术实现思路

[0005]本专利技术提供了一种数据结构动态可视化方法和系统,解决了现有的数据结构动态可视化方法需要为每种数据结构单独编写其专门的可视化程序,才能实现数据结构动态可视化,导致开发的成本高的技术问题。
[0006]本专利技术提供的一种数据结构动态可视化方法,包括:当接收到数据结构集时,对所述数据结构集内的各数据结构进行线性转换,分别得到对应的线性结构;根据所述线性结构和预设的可视化配置表,构建所述数据结构对应的多个目标模型对象;按照所述可视化配置表分别对各个所述目标模型对象进行图形映射,得到所述数据结构集对应的多个目标图形对象;比对所述目标图形对象与历史图形对象,确定更新图形并渲染,得到所述数据结构集对应的图形动画。
[0007]可选地,所述预设的可视化配置表包括节点配置项、指针配置项和布局定义函数;所述根据所述线性结构和预设的可视化配置表,构建所述数据结构对应的多个目标模型对象的步骤,包括:根据所述线性结构、所述节点配置项和所述指针配置项,确定所述数据结构对应
的多个初始模型对象;根据所述初始模型对象、所述指针配置信息和所述布局定义函数,确定对应的中间模型对象;按照所述中间模型对象所属的数据结构类型对所述中间模型对象进行聚类,得到多个模型对象聚类簇;按照预设的可视化容器尺寸调整各所述模型对象聚类簇所处的位置,得到所述数据结构对应的多个目标模型对象。
[0008]可选地,所述根据所述线性结构、所述节点配置项和所述指针配置项,确定所述数据结构对应的多个初始模型对象的步骤,包括:分别采用所述线性结构内的每个节点字典作为关键字,从对应的可视化配置表中分别匹配对应的节点配置项和指针配置项;采用所述节点配置项,构建所述节点字典对应的节点对象;采用所述指针配置项,构建所述节点字典对应的指针对象;采用所述线性结构对应的全部所述节点对象和所述指针对象作为对应的所述数据结构的多个初始模型对象。
[0009]可选地,所述指针配置信息包括锚点配置;所述根据所述初始模型对象、所述指针配置信息和所述布局定义函数,确定对应的中间模型对象的步骤,包括:将所述初始模型对象中的全部所述节点对象作为参数,分别代入对应的布局定义函数,得到所述节点对象对应的节点位置;获取所述初始模型对象中各所述指针对象对应的起始节点位置和目标节点位置,并结合对应的锚点配置,确定所述指针对象对应的指针位置;按照所述节点位置和所述指针位置更新对应的初始模型对象的位置,得到对应的中间模型对象。
[0010]可选地,所述预设的可视化容器尺寸包括可视化容器宽度和可视化容器高度;所述按照预设的可视化容器尺寸调整各所述模型对象聚类簇所处的位置,得到所述数据结构对应的多个目标模型对象的步骤,包括:采用全部所述模型对象聚类簇的并集,构建所述数据结构集对应的整体包围矩形;计算所述整体包围矩形的中心横坐标值与所述整体包围矩形的宽度中值的第一和值;计算所述可视化容器宽度与所述第一和值之间的差值,得到目标水平位移距离;计算所述整体包围矩形的中心纵坐标值与所述整体包围矩形的高度中值的第二和值;计算所述可视化容器高度和所述第二和值之间的差值,得到目标垂直位移距离;按照所述目标水平位移距离和所述目标垂直位移距离移动各所述模型对象聚类簇,得到所述数据结构对应的多个目标模型对象。
[0011]可选地,所述按照所述可视化配置表分别对各个所述目标模型对象进行图形映射,得到所述数据结构集对应的多个目标图形对象的步骤,包括:按照所述目标模型对象所属的类型,确定所述目标模型对象对应的节点配置项或
指针配置项;按照所述节点配置项或所述指针配置项,确定所述目标模型对象对应的图形对象;采用全部所述图形对象作为所述数据结构集对应的多个目标图形对象。
[0012]可选地,所述比对所述目标图形对象与历史图形对象,确定更新图形并渲染,得到所述数据结构集对应的图形动画的步骤,包括:根据所述目标图形对象与历史图形对象,构建新增图形信息子集和第一图形集合;比对所述第一图形集合内的第一图形对象与各所述目标图形对象,确定图形移除信息子集;将第一图形集合移除所述图形移除信息子集对应的第一图像对象后的图形集合作为第二图形集合;选取所述第二图形集合内与所述目标图形对象所属的标识值相同的第二图形对象;比对所述第二图形对象与对应的目标图形对象的图形样式和位置,确定样式更新信息子集和位置更新信息子集;按照所述新增图形信息子集、所述图形移除信息子集、所述样式更新信息子集和所述位置更新信息子集,确定所述数据结构集对应的更新图形;分别渲染所述更新图形,得到所述数据结构集对应的图形动画。
[0013]可选地,所述根据所述目标图形对象与历史图形对象,构建新增图形信息子集和第一图形集合的步骤,包括:以全部历史图形对象所属的类型作为图形关键字,以全部所述历史图形对象作为值,构建哈希表;以所述目标图形对象所属的类型作为所述图像关键字,筛选全部未在所述哈希表内的所述目标图形对象,并构建新增图形信息子集;采用所述新增图形信息子集内全部对应的目标图形对象和全部历史图形对象,构建第一图形集合。
[0014]可选地,还包括:按照数据结构内各节点所属的节点类型,构建所述节点对应的节点配置项;按照所述数据结构内各所述节点对应的自定义指针域,构建所述节点对应的指针配置项;按照所述数据结构的预设布局条件,构建所述数据结构对应的布局定义函数;采用全部所述节点配置项、所述指针配置项和所述布局定义函数,构建所述数据结构对应的可视化配置表。
[0015]本专利技术还提供了一种数据结构动态可视化系统,包括:线性结构得到模块,用于当接收到数据结构集时,对所述数据结构集内的各数据结构进行线性转换,分别得到对应的线性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据结构动态可视化方法,其特征在于,包括:当接收到数据结构集时,对所述数据结构集内的各数据结构进行线性转换,分别得到对应的线性结构;根据所述线性结构和预设的可视化配置表,构建所述数据结构对应的多个目标模型对象;按照所述可视化配置表分别对各个所述目标模型对象进行图形映射,得到所述数据结构集对应的多个目标图形对象;比对所述目标图形对象与历史图形对象,确定更新图形并渲染,得到所述数据结构集对应的图形动画。2.根据权利要求1所述的数据结构动态可视化方法,其特征在于,所述预设的可视化配置表包括节点配置项、指针配置项和布局定义函数;所述根据所述线性结构和预设的可视化配置表,构建所述数据结构对应的多个目标模型对象的步骤,包括:根据所述线性结构、所述节点配置项和所述指针配置项,确定所述数据结构对应的多个初始模型对象;根据所述初始模型对象、所述指针配置信息和所述布局定义函数,确定对应的中间模型对象;按照所述中间模型对象所属的数据结构类型对所述中间模型对象进行聚类,得到多个模型对象聚类簇;按照预设的可视化容器尺寸调整各所述模型对象聚类簇所处的位置,得到所述数据结构对应的多个目标模型对象。3.根据权利要求2所述的数据结构动态可视化方法,其特征在于,所述根据所述线性结构、所述节点配置项和所述指针配置项,确定所述数据结构对应的多个初始模型对象的步骤,包括:分别采用所述线性结构内的每个节点字典作为关键字,从对应的可视化配置表中分别匹配对应的节点配置项和指针配置项;采用所述节点配置项,构建所述节点字典对应的节点对象;采用所述指针配置项,构建所述节点字典对应的指针对象;采用所述线性结构对应的全部所述节点对象和所述指针对象作为对应的所述数据结构的多个初始模型对象。4.根据权利要求3所述的数据结构动态可视化方法,其特征在于,所述指针配置信息包括锚点配置;所述根据所述初始模型对象、所述指针配置信息和所述布局定义函数,确定对应的中间模型对象的步骤,包括:将所述初始模型对象中的全部所述节点对象作为参数,分别代入对应的布局定义函数,得到所述节点对象对应的节点位置;获取所述初始模型对象中各所述指针对象对应的起始节点位置和目标节点位置,并结合对应的锚点配置,确定所述指针对象对应的指针位置;按照所述节点位置和所述指针位置更新对应的初始模型对象的位置,得到对应的中间模型对象。5.根据权利要求2所述的数据结构动态可视化方法,其特征在于,所述预设的可视化容
器尺寸包括可视化容器宽度和可视化容器高度;所述按照预设的可视化容器尺寸调整各所述模型对象聚类簇所处的位置,得到所述数据结构对应的多个目标模型对象的步骤,包括:采用全部所述模型对象聚类簇的并集,构建所述数据结构集对应的整体包围矩形;计算所述整体包围矩形的中心横坐标值与所述整体包围矩形的宽度中值的第一和值;计算所述可视化容器宽度与所述第一和值之间的差值,得到目标水平位移距离;计算所述整体包围矩形的中心纵坐标值与所述整体包围矩形的高度中值的第二和值;计算所述可视化容器高度和所述第二和值之间的差值,得到目标垂直位移距离;按照所述目标水...

【专利技术属性】
技术研发人员:苏庆陈建成黎智洲
申请(专利权)人:广东工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1