• 技术文章 >Python技术 >Python基础教程

    python实现排序算法的可视化

    小妮浅浅小妮浅浅2021-10-25 09:40:25原创4449

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

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

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

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

    实例

    def sort(li):
     
        # 这样赋值的frames列表中的元素是一个个的列表,每一帧的数据是其中的元素
        frames = [li]
     
        ds = copy.deepcopy(li)      # 赋值一份初始列表,用于存储每一帧变化后的数据
     
    # 冒泡排序:
        for i in range(32):
            for j in range(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中
                if ds[j].value > ds[j + 1].value:
                    ds[j + 1], ds[j] = ds[j], ds[j + 1]
                    
     
        frames.append(ds)   # 将最后排好序的数据追加
        return frames

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

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python 排序算法
    上一篇:python assert断言的使用 下一篇:python如何使用turtle画月饼

    相关文章推荐

    • python字符串的驻留机制是什么• python中setdefault()的使用• python查询键值对是否在字典的三个方法• python集合的底层实现• Python解析器如何搜索模块位置• Python中time模块的方法整理• Python中random模块的方法整理• python socket发送消息的方法• python协程的调度• python协程调度的流程• python自定义模块的调用• python包中__all__的使用• python assert断言的使用

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网