分享好友 最新动态首页 最新动态分类 切换频道
9 种经典排序算法的可视化,用Python3分钟就可以搞定!_如何实现排序算法动画可视化
2024-12-26 18:50

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导,让我们一起学习成长

假设我希望数组长度是100,而且我希望数组的大小也是在[0,100)内,那么如何得到100个随机的整数呢?可以用random库。

示例代码

但是以上代码有个问题,random.choices是对一个序列进行重复采样,得到的数组存在重复数据,那如果不希望存在重复数据,而是希望进行无重复采样,怎么办

可以用random.sample函数,示例代码

这样就可以得到无重复采样数据了。

算法种类较多,就不一一举例;再次就以希尔排序(Shell Sort)为例讲讲

尔排序的原理:希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。

希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。

基础的插入法排序是两重循环,希尔排序是三重循环,最外面一重循环,控制增量gap,并逐步减少gap的值。二重循环从下标为gap的元素开始比较,依次逐个跨组处理。最后一重循环是对组内的元素进行插入法排序。这样进行排序的优点在于每次循环,整个序列的元素都将小元素的值逐步向前移动,数值比较大的值向后移动。

示例代码

有了随机数组初始化方法,再实现好排序函数,我们还差一步,就是把排序函数中每次移动数组后将数组可视化并输出。

对数组进行可视化,很容易想到python的可视化工具matplotlib!但是在项目中我并没有用matplotlib,而是用了numpy+opencv。

为什么不用matplotlib

因为在排序过程中,每次修改数组,都希望能够实时修改图片并输出,matplotlib确实很方便,但是matplotlib的效率实在是不高,而且每次修改数组前后的两幅图片其实是差不多的。如果用matplotlib,每次都是要重新绘制图片,非常耗时

所以考虑自己生成图片,在每次修改数组后,只将图片中改动的那两列进行修改即可!这样就比用matplotlib每次重新绘制图片效率高得多

数组中主要有两种操作,一种是对某个idx赋值,一种是交换某两个idx的值。

示例代码

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导,让我们一起学习成长

4304bb5a486d4c3ab8389e65ecb71ac0)**

最新文章
小米手机怎么刷root
小米手机怎么刷root呢?root权限很多使用安卓手机的小伙伴可能都有所耳闻,但是大家对于刷root的具体方法不了解,毕竟这还是需要一定步骤的,刷root之后你就能随心的折腾手机了,小米手机刷root权限的过程相对复杂,需要用户具备一定的操作
独立站——跨境电商的“破局者”
本文转自《焦点视界》总第80期,作者胡成钢。关于作者胡成钢,现任南京焦点领动云计算技术有限公司总经理,2003年起进入互联网行业,历任焦点科技销售工程师、销售主管、事业部总经理等职。独立站的起源与发展背景中国加入WTO十年后的2012
网贷怎么协商还本金方法
小编导语随着互联网金融的发展,网贷成为了许多人解决资金问的方式。随之而来的也有不少的风险和问,尤其是在还款压力大的情况下,很多借款人开始考虑如何与网贷平台协商还本金。本站将详细探讨网贷协商还本金的可行性及具体 ,希望能为广
立体监测更清晰 精准预报更有力 场景服务更智慧踔厉奋发新征程
近日,城市气象科技联盟组织召开极端天气下城市防灾减灾气象科技成果发布会,发布了16项代表性成果,涵盖人工智能技术应用、雷达组网协同观测、短时强降水预报技术、交通气象保障技术等多个领域。当前,全球气候形势变得愈加复杂,极端气候
莱州网站关键词排名优化,策略与实践,莱州网页
莱州网站关键词排名优化策略与实践,旨在提升莱州网页在搜索引擎中的排名。通过深入研究关键词、优化网站结构、提高内容质量、建立外部链接等策略,可以显著提升网站的可见度和流量。实践过程中需要注意避免过度优化和不良手段,确保优化效
中谦营销:广州专业网络营销公司,招商外包公司、招商策划公司、网络推广公司,全网营销公司
广州市中谦营销咨询有限公司简称“中谦营销”,中谦营销是一家致力于中小企业的互联网营销、招商外包服务商,提供品牌推广、网络营销、网络推广、招商策划、招商外包、新媒体运营等多种服务为一体的互联网推广服务公司。我们拥有资深的项目
打造高效营销,营销型搭建全攻略揭秘
全面解析营销型搭建攻略,涵盖选择、、空间选择、优化配置、内容布局等关键步骤,助你轻松搭建高效营销,提升品牌影响力。探究营销型的重要性营销型的操作步骤营销型的要点关注在互联网迅猛发展的当下,众多企业逐渐认识到营销型的价值所在
使用备份插件从备份中恢复WordPress网站的方法,微软云服务器
WordPress作为目前最受欢迎的内容管理系统之一,拥有丰富的主题模板和插件库,允许用户轻松扩展网站功能。例如,许多WordPress备份插件允许您直接从WordPress仪表盘创建部分或完整的网站备份。下面一起来看下如何使用备
海外TMT行业2025年度AI需求持续高景气,算力终端应用全产业链投资机会梳理.pptxVIP
算力:AI算力需求持续高景气,单卡到组网集群各产业链环节均受益终端:AI+终端百花齐放,边缘SoC+生态系统+硬件迭代构筑端侧智能体应用:AI应用百舸争流,LLM仍是核心竞争力风险提示请务必参阅正文之后的重要声明1AI算力需求持续高景气,单
部署web项目SpringMVC工程到Linux服务器
补入 这篇博客。 (回忆版,待确认)下载Tomcat的Linux版安装包(.tar.gz),在Linux的目标路径下解压,将开发的工程【生成的war包/编译好的class文件】放到Tomcat的webapps目录下,解压
相关文章
推荐文章
发表评论
0评