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基础教程