python实现排序算法的可视化

1、实现分类算法的可视化,只需对每一数据的变化进行颜色标记。

2、将其作为一帧柱状图象的数据绘制出来,将前一帧的画面清空,循环往复直到最后排好序的画面显示,我们的一次排序算法可视化循环完成。

需要一个二维列表(frames),其中的元素就是每一帧数据的列表。

还需要将每个数据转换为class,有它自己的值属性和值属性,以及set_color()方法。

实例

defsort(li):

#这样赋值的frames列表中的元素是一个个的列表,每一帧的数据是其中的元素
frames=[li]

ds=copy.deepcopy(li)#赋值一份初始列表,用于存储每一帧变化后的数据

#冒泡排序:
foriinrange(32):
forjinrange(32-i-1):
ds_r=copy.deepcopy(ds)#赋值一份ds中的数据
ds_r[j].set_color('#DC143C')#将数据的color设置为'#DC143C'
ds_r[j+1].set_color('#7FFFAA')
frames.append(ds_r)#将color变化后的数据追加到frmaes中
ifds[j].value>ds[j+1].value:
ds[j+1],ds[j]=ds[j],ds[j+1]


frames.append(ds)#将最后排好序的数据追加
returnframes

以上就是python实现排序算法的可视化方法,希望对大家有所帮助。更多Python学习指路:Python基础教程

发表回复