排序
文章平均质量分 52
算法——排序
c0re
世界和平
展开
-
基数排序(桶排序)
我们之前学过的排序都是基于比较的排序但桶排序是一个不基于比较的排序**不基于比较的排序**无法通过比较来判断大小要根据数据状况定制的是一类很小众的算法。原创 2022-07-14 20:58:00 · 437 阅读 · 1 评论 -
堆堆排序及堆的相关操作
size=7位置关系:i位置左孩子为2*i+1右孩子为2*i+2父亲为(i-1)/2n个数的二叉树的高度是log n级别的大根堆:父比子大 头为最大。首先我们先建立一个数组! 比如这个吧 首先我们看我们之前补充的父节点和子节点的理论也就是说在任意位置上我们都可以访问它的左孩子右孩子和他的父亲。 这样的话就好办了!! 其实这个数组就是一个堆,而通过上面的这个每个位置上的关系就可以确定他这个位置上的父节点和子节点了,这是我们建立大根堆小根堆的基础当我们把这个数组看做是堆之后呢就要考虑如何建立大根堆和小根堆了,原创 2022-07-13 02:29:59 · 378 阅读 · 1 评论 -
算法——插入排序
这篇是插入排序的内容1.从第一个元素开始,该元素可以认为已经被排序 2.取下一个元素tem,从已排序的元素序列从后往前扫描 3.如果该元素大于tem,则将该元素移到下一位 4.重复步骤3,直到找到已排序元素中小于等于tem的元素 5.tem插入到该元素的后面,如果已排序所有元素都大于tem,则将tem插入到下标为0的位置 6.重复步骤2~5 时间复杂度分析: 外层for循环表示通过n-1次内层for循环表示遍历(n-1)!次也可能就看一遍不用排序了这个时候就是O(n)所以复杂度为O(n)~O(n2)没有额原创 2022-07-07 20:37:08 · 305 阅读 · 1 评论 -
算法——选择排序
这篇是选择排序的内容 时间复杂度分析: 外层for循环表示通过n-1次内层for循环表示遍历(n-1)!次所以复杂度为O(n2)没有额外申请数组等只使用了一个t来进行交换所以复杂度为O(1)原创 2022-07-07 15:39:27 · 209 阅读 · 0 评论 -
算法——冒泡排序
算法——冒泡排序总结原创 2022-07-06 22:02:03 · 243 阅读 · 0 评论