一,选择排序 基本思想: 在一个已经有序的序列里插入新的元素,直到有序序列包含所有被排序元素。 例子: 对于一组元素:1 5 3 4 6 首先规定括号内的元素是有序的: 第一次排序: (1)5 3 4 6 第二次排序 : (1 5) 3 4 6 第三次排序: (1 3 5) 4 6 第四次排序: ( ...
分类:
编程语言 时间:
2020-05-23 00:42:58
阅读次数:
93
排序算法很多地方都会用到,近期又重新看了一遍算法,并自己简单地实现了一遍,特此记录下来,为以后复习留点材料。 废话不多说,下面逐一看看经典的排序算法: 1、Java排序算法之选择排序 选择排序的基本思想是遍历数组的过程中,以 i 代表当前需要排序的序号,则需要在剩余的 [i…n-1] 中找出其中的最 ...
分类:
编程语言 时间:
2020-05-22 13:04:35
阅读次数:
50
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要 小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。最坏情况的时间复杂度为O(n2),最好 情况时间复 ...
分类:
编程语言 时间:
2020-05-22 12:33:48
阅读次数:
59
参考 https://www.cnblogs.com/onepixel/articles/7674659.html ...
分类:
编程语言 时间:
2020-05-22 10:11:39
阅读次数:
56
? 算法作为程序员的必修课,是每位程序员必须掌握的基础。作为Python忠实爱好者,本篇东哥将通过Python来手撕5大经典排序算法,结合例图剖析内部实现逻辑,对比每种算法各自的优缺点和应用点。相信我,耐心看完绝对有收获。 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本 ...
分类:
编程语言 时间:
2020-05-21 15:59:26
阅读次数:
57
数据结构与算法 关于算法的代码写了一些在:https://gitee.com/yuan_yi_xiang/data_structure_algorithm欢迎指正 基础的数据结构: 数组、链表、栈、队列 基础排序算法: 冒泡排序o(n2)、插入排序o(n2)、选择排序o(n2) 归并排序和快速排序都 ...
分类:
编程语言 时间:
2020-05-20 12:05:17
阅读次数:
73
题目:用选择法对10个整数排序。 选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完(选自百度百科)。这个概念 ...
分类:
其他好文 时间:
2020-05-19 22:38:10
阅读次数:
76
https://blog.csdn.net/dingpiao190/article/details/72674199 排序的应用场景: 1.价格排序 (1)租房时看价格,从低到高; (2)购物时,按价格排序; 具体应用:1、淘宝商品价格排序:商品按价格高低排序后显示2、微博热搜排行榜:排序后,最高的 ...
分类:
编程语言 时间:
2020-05-19 20:09:58
阅读次数:
79
什么是堆 堆 首先是一个完全二叉树, 堆 分为 大顶堆 和 小顶堆 ; 大顶堆 : 每个节点的值大于或等于其左右孩子节点的值,称为大顶堆。 小顶堆 同理就是每个节点的值小于或等于其左右孩子节点的值。 注意 : 每个节点的左右孩子节点的大小关系并没有限定。 大顶堆举例 如图: 首先其为一个完全二叉树, ...
分类:
编程语言 时间:
2020-05-19 18:10:55
阅读次数:
74