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

    python实现排序算法的可视化

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

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

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

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

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

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    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学习网