自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 线性时间排序(计数、基数、桶排序)

线性时间排序 1.计数排序 原理: 计数排序是一种稳定的排序算法,但适用范围相对来说具有一定的局限性。当数据之间的差值太大,消耗的计算机资源相对来说太大,则不适合于用计数排序。在适合的数据面前,其排序的时间复杂度的是非常小的,运行时间为Θ(n)。 基本思想: 对于每一个输入元素x,确定小于x的元素个数。以此来确定x的输出位置,例如:小于x的元素有15个,则第16号输出元素就是x。当有几个元素相同时,将方案略作修改,因为不能将其放在同一输出位置上。 代码: #计数排序代码 def CountingSort(a

2021-11-30 16:29:46 118

原创 计数排序python

计数排序 计数排序是一种稳定的排序算法,但适用范围相对来说具有一定的局限性。当数据之间的差值太大,消耗的计算机资源相对来说太大,则不适合于用计数排序。在适合的数据面前,其排序的时间复杂度的是非常小的,运行时间为Θ(n)。 基本思想: 对于每一个输入元素x,确定小于x的元素个数。以此来确定x的输出位置,例如:小于x的元素有15个,则第16号输出元素就是x。当有几个元素相同时,将方案略作修改,因为不能将其放在同一输出位置上。 代码: #计数排序代码 def CountingSort(a, b, k): c=

2021-11-26 10:21:01 853

原创 堆排序python

堆排序 堆排序是一个近似完全二叉树的结构,利用堆这种数据结构所设计而成的一种排序算法。 堆操作: 在堆的数据结构中,堆中的最大值总是位于根节点(在优先队列中使用堆的话堆中的最小值位于根节点)。堆中定义以下几种操作: 最大堆调整(swap):将堆的末端子节点作调整,使子节点小于父节点 创建最大堆(adjust_heap):将堆中的所有数据重新进行排序 堆排序(heap_sort):移除位在第一个数据的根节点,并做最大堆调整的递归运算 下面为堆排序操作示例图: #堆排序代码 def swap(data, ro

2021-11-24 10:18:33 466

原创 python快速排序

快速排序 快速排序是最常用的一种排序算法,包括C的qsort,C++和Java的sort,都采用了快排(C++和Java的sort经过了优化,还混合了其他排序算法)。 快排最坏情况 ????(????2) ,但平均效率 ????(????lg????) ,而且这个 ????(????lg????) 记号中隐含的常数因子很小,快排可以说是最快的排序算法,它还是就地排序。 快速排序是基于分治策略的。对一个子数组A[p…r]快速排序的分治过程的三个步骤为: 1、分解 数组A[p…r]被划分成两个(可能空)

2021-11-22 18:52:08 1099

原创 python归并排序

python之归并排序

2021-11-21 23:21:00 645

原创 python插入排序

初学Python

2021-11-21 10:24:04 647

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除