![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
Jugend
学习就是模仿和记忆。
展开
-
冒泡排序——Bubble Sort
冒泡排序只会操作相邻的两个数据,每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。 冒泡排序是原地、稳定的排序。 原地:冒泡的过程只涉及相邻数据的交换操作,只需要常量级的临时空间,空间复杂度为O(1)。 稳定:在冒泡排序中,只有交换才可以改变两个元素的先后顺序。当有相邻的两个元素大小相等的时候,不做交换, 相同大小的数据在排序前后不后改变顺序。 时间复杂度:最好情况是有序...原创 2019-02-13 16:51:12 · 132 阅读 · 0 评论 -
排序算法总结
冒泡排序、插入排序、选择排序这三种排序算法,它们 的时间复杂度都是O(n^2),比较高,适合小规模数据的排序。 归并排序和快速排序这两种排序算法,适合大规模的数据排序。...原创 2019-02-26 15:22:23 · 125 阅读 · 0 评论 -
递归
递归的调试: 1.打印日志找到递归值; 2.结合条件断点进行调试。原创 2019-02-26 14:39:02 · 159 阅读 · 0 评论 -
选择排序——Selection Sort
选择排序:类似插入排序,也分已排序区间和未排序区间,每次会从未排序区间中找到最小的元素,将其放到已排序区间的末尾。 选择排序是原地、不稳定的排序算法。 原地:空间复杂度为O(1)。 不稳定:选择排序每次都要找剩余未排序元素中的最小值,并和前面的元素交换位置,破坏了稳定性。 时间复杂度:最好是O(n*2),最坏是O(n*2),平均是O(n*2)。 选择排序: public class ...原创 2019-02-25 17:35:01 · 152 阅读 · 0 评论 -
插入排序——Insertion Sort
插入排序:将数组中的数据分为两个区间,已排序区间和未排序区间。初始已排序区间只有一个元素,就是数组的第一个元素。插入算法的核心思想是取未排序区间中的元素,在已排序中找到合适的插入位置将其插入,并保证已排序空间数据一直有序。重复这个过程,直到未排序区间中元素为空。 插入排序是原地、稳定的排序算法。 原地:运行并不需要额外的存储空间,空间复杂度为O(1)。 稳定:对于值相同的元素,选择将后面出现...原创 2019-02-15 16:21:15 · 161 阅读 · 0 评论