千锤百炼Python
文章平均质量分 62
以实战为原则,带来使用python实现的一些有趣实例!
王乐予
这个作者很懒,什么都没留下…
展开
-
【千锤百炼Python—14】:修改图片格式
我们在做图像处理的时候,如果需要修改图像的后缀名称,可以通过鼠标????️右击重命名操作!如果图像数量过多呢?例如几百几千甚至几万几十万张图像呢?我们肯定不会手动一个个修改后缀。这时,就要利用编程语言进行批处理操作,用计算机运算他不香吗?✨我们只需要一个python的库os就能完成。import osimg_path = "C:\\Users\\Lenovo\\Desktop\\5\\" # 图片所在路径img_name = os.listdir(img_path)for原创 2022-01-05 12:47:35 · 1567 阅读 · 1 评论 -
【千锤百炼Python—13】:获取当前时间
我们可以通过手机、电脑获取当前时间!那能否通过编程的方式得到时间呢!?➡️可以time库是python中处理时间的标准库,我们可以通过调用time中的相关函数获取当前时间!import time# 以字符串的形式返回时间print(time.ctime())# 返回电脑时间print(time.localtime())# 以可读的形式表现出来print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))仿真结果:Tue J原创 2022-01-04 22:48:57 · 717 阅读 · 0 评论 -
【千锤百炼Python—10】:十大排序算法之桶排序
桶排序是排序算法系列的第十个要介绍的算法,也是最后一个要介绍的算法!桶排序既属于非比较类排序也属于外部排序。一、算法原理1. 算法原理参考:https://www.cnblogs.com/onepixel/articles/7674659.htmlhttps://www.runoob.com/w3cnote/bucket-sort.html桶排序(Counting Sort)是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做原创 2021-12-12 14:37:15 · 2557 阅读 · 0 评论 -
【千锤百炼Python—9】:十大排序算法之计数排序
计数排序是排序算法系列的第九个要介绍的算法!计数排序既属于非比较类排序也属于外部排序。一、算法原理1. 算法原理计数排序(Counting Sort)不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。2. 算法步骤步骤一:找出待排序的数组中最大和最小的元素;步骤二:统计数组中每个值为i的元素出现的次数,存入数组C的第i项;步骤三:对所有的计数累加(从C中的第一个元素开始,每一项和原创 2021-12-12 14:25:07 · 2152 阅读 · 0 评论 -
【千锤百炼Python—8】:十大排序算法之基数排序
基数排序是排序算法系列的第八个要介绍的算法!基数排序既属于非比较类排序也属于内部排序。一、算法原理1. 算法原理基数排序(Radix Sort)是把待排序中的元素按照低位先排序,然后收集,再按照高位排序,再收集,直至最高位。2. 算法步骤步骤一:取得待排序序列中的最大值,并取得位数;步骤二:arr为原始数组,从最低位开始取每个位组成radix数组;步骤三:对radix进行计数排序。二、动图演示三、程序实现参考:https://blog.csdn.net/weixin_4379原创 2021-12-12 12:13:34 · 1930 阅读 · 0 评论 -
【千锤百炼Python—9】:十大排序算法之归并排序
归并排序是排序算法系列的第七个要介绍的算法!归并排序既属于**比较类排一、算法原理1. 算法原理归并排序(Merge Sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序的二路归并排序方式:二路归并:将待排序列分成两个长度相等的子序列,然后对每个子序列进行排序,然后将排序好的子序列合并成一个完整序列。归并排序是排序算法系列的第七个要介绍的算法!归并排序既属于**比较类排序**也属于**内部排序**。原创 2021-12-12 09:18:19 · 2337 阅读 · 0 评论 -
【千锤百炼Python—6】:十大排序算法之希尔排序
希尔排序是排序算法系列的第六个要介绍的算法!希尔排序既属于**比较类排序**也属于**内部排序**。一、算法原理1. 算法原理希尔排序(Shell Sort)是对简单插入排序的一种改进,属于插入排序的一种。简单插入排序有个很大的问题:效率低,因为简单插入排序以此只能操作一个元素,整体遍历次数很多。希尔排序的工作原理是先对待排序列分组,每个组进行简单插入排序,待每个组中的序列都有序时,再对整体进行简单插入排序。原创 2021-12-12 08:18:00 · 2000 阅读 · 1 评论 -
【千锤百炼Python—5】:十大排序算法之简单插入排序
简单插入排序是排序算法系列的第五个要介绍的算法!简单插入排序既属于比较类排序也属于内部排序。一、算法原理1. 算法原理插入排序(Insertion Sort)是一种简单直观的排序算法,属于插入排序的一种。插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。2. 算法步骤步骤一:从序列的第一个元素开始,将该元素视为已被排序的序列(目前该序列中仅包含一个元素); - 步骤二:从未排序序列中取出下一个元素,原创 2021-12-11 09:29:20 · 1978 阅读 · 0 评论 -
【千锤百炼Python—4】:十大排序算法之堆排序
堆排序是排序算法系列的第四个要介绍的算法!堆排序既属于比较类排序也属于内部排序。一、算法原理1. 算法原理堆排序(Heap Sort)是指利用堆这种数据结构所设计的一种排序算法,属于选择排序的一种。堆排序是一种利用堆的概念来排序的选择排序,堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序有两种类型:大顶堆:每个结点的值都>=子节点的值;小顶堆:每个节点的值都<=子节点的值。2. 算法步骤步骤一:将初始待排序原创 2021-12-11 08:54:03 · 1996 阅读 · 0 评论 -
【千锤百炼Python—3】:十大排序算法之简单选择排序
选择排序是排序算法系列的第三个要介绍的算法!冒泡排序既属于比较类排序也属于内部排序。一、算法原理1. 算法原理选择排序(Select Sort)是一种简单直观的排序算法,属于选择排序的一种。选择排序首先再原始序列中找到最小元素,将其存放至排序序列的起始位置,然后从剩余序列中继续寻找最小的元素,将其放置已经排序序列的末尾,重复上述操作,直至所有元素排序完毕。2. 算法步骤步骤一:从原始序列中找到最小的元素,将其和第一个位置的元素做交换;步骤二:从剩下的序列数据中选择最小的元素,将其和第二个位原创 2021-12-10 16:16:26 · 2270 阅读 · 0 评论 -
【千锤百炼Python—2】:十大排序算法之快速排序
快速排序是排序算法系列的第二个要介绍的算法!快速排序既属于比较类排序也属于内部排序。一、算法原理1. 算法原理快速排序(Quick Sort)是对冒泡排序的一种提升,也属于交换排序的一种。快速排序会对序列中的元素任选其一作为基准,以此基准,将小于基准值的元素放在基准值左边,大于基准值的元素放在基准值右边,两部分重复以此方法排序,最后整个序列完成排序。2. 算法步骤步骤一:从数列中挑出一个元素,称为 “基准”(pivot);步骤二:重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比原创 2021-12-09 08:56:25 · 2140 阅读 · 0 评论 -
【千锤百炼Python—11】:十大排序算法总结(动画+代码)
不管学习哪种语言。十大经典的排序算法都是要掌握的!一、算法分类十大排序算法有两种分类方式,一种是按照是否进行元素比较分类,另一种是按照是否使用外存进行分类!接下来,我会一一介绍这两种分类方式。1. 按照是否进行元素比较分类比较类排序:通过比较元素间的大小进行排序的一种方式。非比较排序:不通过比较元素间的大小进行排序的一种方式。思维导图如下:2. 按照是否使用外存分类内部排序:数据记录在内存中进行排序的一种方式。外部排序:需要排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需原创 2021-12-09 07:21:05 · 1953 阅读 · 0 评论 -
【千锤百炼Python—1】:十大排序算法之冒泡排序
冒泡排序是排序算法系列的第一个要介绍的算法!冒泡排序既属于比较类排序也属于内部排序。一、算法原理1. 算法原理冒泡排序(Bubble Sort)是一种简单直观的排序算法,属于交换排序的一种。冒泡排序遍历一个序列会对相邻的两个元素进行比较,如果后面的元素小于前面的元素就交换之,反之不进行任何操作,继续遍历,每一轮都会找到一个最大的元素。2. 算法步骤步骤一:比较相邻的元素,若前一个元素>后一个元素,则交换之;步骤二:对每一对相邻元素重复步骤一的操作,该步骤的最终结果是序列的最后一位是整个序列原创 2021-12-08 19:57:58 · 1910 阅读 · 0 评论