基于 matplotlib 实现的基本排序算法的动态可视化项目源码,通过 pyaudio 增加音效,冒泡、选择、插入、快速等排序

news2024/11/26 2:31:05

基本排序算法动态可视化


依托 matplotlib 实现的基本排序算法的动态可视化,并通过 pyaudio 增加音效。

安装

在使用之前请先检查本地是否存在以下库:

  • matplotlib
  • pyaudio
  • fire

requirements.txt 中包含了上述的库

使用

目前本项目仅提供了以下排序算法

  • 冒泡排序

在这里插入图片描述

  • 选择排序

在这里插入图片描述

  • 插入排序

在这里插入图片描述

  • 快排

在这里插入图片描述

  • 归并排序

在这里插入图片描述

命令行工具

命令行工具依托与简单好用的 fire

使用方法

进入 algo_vi 文件夹后在命令行

简单使用方法:

$ python start.py sortex quick_sort

排序对应关系

  • 冒泡排序(bubble_sort)
  • 选择排序(select_sort)
  • 插入排序(insert_sort)
  • 快排(quick_sort)
  • 归并排序(merge_sort)

自定义参数

1、排序数据

排序的原始数据可不提供,此时程序将 1-20 这个 20 个数打乱提供给程序使用,如需要自定义,按照以下形式提供

$ python start.py sortex quick_sort [1,3,5,4,2,6]

2、其他参数

本系列参数与 matplotlib 设置相关

2.1 间隔时间

设置动画刷新时间,单位为 ms

$ python start.py sortex quick_sort --interval=50

2.2 图例标题

设置画面显示标题,目前 title 的内容仅支持英文和数字,中文会显示乱码。

$ python start.py sortex quick_sort --title='quick'

使用提供的 api

除了提供命令行工具之外,本项目也提供了 api 支持

进入 algo_vi 文件夹中的 api.py,查看相关用法。

排序算法

具体排序算法的代码实现见 sortx.py

几乎所有的数据结构与算法相关书籍都对排序方法有详细介绍,这里不再赘述。

完整代码下载地址:基于 matplotlib 实现的基本排序算法的动态可视化项目源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1147051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最新基于机器学习模型单图换脸离线版软件包及使用方法,本地离线版本模型一键运行(免费下载)

最新基于机器学习模型单图换脸离线版软件包及使用方法,本地离线版本模型一键运行(免费下载)。 “单图换脸”离线一键运行版来了。Roop发布几十个小时后,马不停蹄地搞了Colab在线版。其实这东西都挺好的,又快又方便,几乎没有任何硬件要求,点一点就可以搞定了。但是它有…

案例分析真题-数据库

案例分析真题-数据库 2010年真题 【问题1】 【问题2】 【问题3】 2011 年真题 【问题1】 【问题2】 【问题3】 骚戴理解:这里主要是要学会分析出题目中哪里用到了反规范化技术,主打的就是一个会分析! 2012年真题 【问题1】 【问题2】 【问题…

2022年上半年上午易错题(软件设计师考试)

1.以下关于冯诺依曼计算机的叙述中,不正确的是( )。 A.程序指令和数据都采用二进制表示 B.程序指令总是存储在主存中,而数据则存储在高速缓存中 C.程序的功能都由中央处理器(CPU)执行指令来实现 D.程序的执行过程由指令进行自动控制 程序指令和数据…

目标检测算法改进系列之嵌入Deformable ConvNets v2 (DCNv2)

Deformable ConvNets v2 简介:由于构造卷积神经网络所用的模块中几何结构是固定的,其几何变换建模的能力本质上是有限的。在DCN v1中引入了两种新的模块来提高卷积神经网络对变换的建模能力,即可变形卷积 (deformable convolution) 和可变形…

提高网站速度与用户体验:CDN加速的解决方案

对于网站运营者而言,维持高速和稳定的网站速度对于提升用户体验和提高搜索引擎排名至关重要。为了达到这一目标,内容交付网络(CDN)加速服务提供了一个强大的解决方案。然而,传统的CDN加速服务需要备案手续,…

『阿里云盘 AList Kodi』家庭影院搭建指南

文章目录 前言AList简介安装相关命令获取密码 阿里云盘Kodi安装 参考链接 前言 之前我们使用简易 Python 框架搭建部署了私人影院,但是部分小伙伴们表示对于个人使用来说比较复杂,这次将会带来更加适合个人使用,并且部署更加简单的 阿里云盘…

合并两个有序链表(C++)

题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 [] 输出&#xff1…

案例分析大汇总

案例分析心得 2018-2022年的案例分析考试内容汇总(近五年) 架构设计题型 软件系统建模 数据库 Web 系统设计 2018年 胖/瘦客户端 C/S 架构非功能性需求 数据流图DFDE-R图Essential Use Cases(抽象用例),Real Use Cases(基础用例)信息工…

Prometheus接入AlterManager配置钉钉告警(基于K8S环境部署)

文章目录 一、钉钉群创建报警机器人二、安装Webhook-dingtalk插件三、配置Webhook-dingtalk插件对接钉钉群四、配置AlterManager告警发送至Webhook-dingtalk五、Prometheus接入AlterManager配置六、部署PrometheusAlterManager(放到一个Pod中)七、测试告警 注意:请基…

Xubuntu16.04系统中create_ap开启5G网络的踩坑记录

Xubuntu16.04系统中安装create_ap创建无线AP: https://blog.csdn.net/qq_45445740/article/details/133972642?spm1001.2014.3001.5501 目录 1.create_ap.conf 配置文件解析2.关于信号强度和延时2.1 信号强度2.2 信号延时2.3 网络延时测试工具推荐——PingPlotter …

Linux | 程序替换

前言 本文主要记录小编学习程序替换中遇到的一些问题,并分享记录下来,希望可以给大家带来帮助; 一、初始程序替换 所谓程序替换,就是将本进程的代码和数据进行替换,运行新程序的代码;我们之前在讲解进程地址…

CDN技术:提升网络效能与用户满意度

网络的持续增长和数字内容的快速传播已经引发了对网络性能和用户体验的不断挑战。内容交付网络(CDN)技术应运而生,以应对这些挑战,实现内容高效分发,提升了整体网络质量。 CDN的核心原理在于通过在全球范围内部署多个服…

【C++初阶】类和对象——操作符重载const成员函数取地址重载日期类的实现

个人主页点击直达:小白不是程序媛 C系列专栏:C头疼记 目录 前言: 运算符重载 运算符重载 赋值运算符重载 前置和后置重载 const成员 取地址及const取地址操作符重载 使用函数操作符重载完成日期类的实现 前言: 上篇文…

YOLO v1(2016.5)

文章目录 AbstractIntroduction过去方法存在的问题我们提出的方法解决了... Unified DetectionNetwork DesignTrainingInference Comparison to Other Detection SystemsDeformable parts modelsR-CNNOther Fast DetectorsDeep MultiBoxOverFeatMultiGrasp ExperimentsConclusi…

java项目之机房预约系统(ssm框架)

项目简介 机房预约系统实现了以下功能: 管理员:个人中心、学生管理、教师管理、机房号管理、机房信息管理、申请预约管理、取消预约管理、留言板管理、论坛管理、系统管理。学生:个人中心、机房信息管理、申请预约管理、取消预约管理、留言…

Elasticsearch:使用 E5 嵌入模型进行多语言向量搜索

作者:JOSH DEVINS 在这篇文章中,我们将介绍多语言向量搜索。 我们将使用 Microsoft E5 多语言嵌入模型,该模型在零样本和多语言设置中具有最先进的性能。 我们将介绍多语言嵌入的一般工作原理,以及如何在 Elasticsearch 中使用 E…

蓝桥杯每日一题2023.10.29

螺旋折线 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 在图中我们可以观察到四个对角线的值均为特殊点&#xff0c;其他的点可以根据这几个 进行偏移量的计算从而进行表示&#xff0c;此题主要是找到规律即可 #include<bits/stdc.h> using namespace std; typedef long…

ENSP L2TP 配置

拓扑 真机模拟出差员工使用l2tp客户端接入公司内网。 客户端下载&#xff1a;URL 说明&#xff1a; 确保真机与AR1设备之间网络可达&#xff0c;且真机上可以访问到LNS的 10.100.1.254 真机网卡配置 真机上添加去往LNS的路由 测试 LNS配置 #l2tp enable #ip pool shass…

聊聊装饰模式

缘起 某日&#xff0c;阳光明媚&#xff0c;绿草花香。Leader突然找到了小明&#xff1a;“小明&#xff0c;如果让你将一个人的穿着使用代码来实现&#xff0c;你该怎么完成呢&#xff1f;” 小明一听&#xff0c;回答道:“Leader&#xff0c;这个不难&#xff0c;马上就完事…