- 博客(8)
- 收藏
- 关注
原创 归并排序:基于python实现
假设此时有两段分别有序的数,通过比较从某一段中拿出较小的一个数,即此时最小的数,放到一个新的列表中,依次执行就能得到一个有序的列表。合并,将两个有序的列表合并,列表越来越大。给定两段列表如何保证列表有序?分解,将列表越分越小,直至一个元素。归并排序,顾名思义,拆分再合并。终止条件,一个元素是有序的。
2023-09-11 23:09:38 36
原创 计数排序:基于python的实现
计数排序:顾名思义,就是数数,给定一个列表,数出列表中某个元素一共出现了几次。举个例子:已知列表的数的范围是0-100之间,设计时间复杂度为O(n)的算法。注意:计数排序是有限制的,应用技术排序的前提是要知道所排序的序列的范围。之前的排序算法大多数为比较排序。
2023-09-11 22:50:28 53
原创 排序:快速排序
思路:取一个元素,默认为第一个元素p,将他归位,即使p元素排到一个位置上,使p元素左面的元素都比p小,p元素右面的元素都比p大,这样将列表元素分为两个部分,然后再分别对两个部分进行排序,采用刚才同样的过程,递归实现,快速排序的问题:最坏的情况:一次只能归位一个函数,即每次的值不是最小就是最大的,时间效率为O(n^2)解决办法:随机化快速排序,即随机找一个数与第一个数交换。在python中递归深度是可以修改的,快速排序,顾名思义,是一种速度相对较快的排序算法。快速排序的效率:O(nlogn)
2023-09-11 16:09:12 36
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人