![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
墨廿枉
一位懒懒散散的学习者,好读书,不求甚解
展开
-
Java排序--插入排序
插入排序是由排序的位置不断的向前比较,找到合适的位置,逐渐的对数据进行排序。 过程: 在插入排序中索引左边是有序的,但是位置并不确定,为了给更小的元素腾出空间,他们可能会进行移动,但是当前索引达到右端的时候就完成了排序。 时间: 插入排序所需的时间取决于输入的中元素的初始顺序。对于一个有序的数组或者接近有序的数组进行排序要比对一个乱序数组排序的时间短的多。 对于随机排列的长度为N且主键不重复的数组,平均情况下插入排序需要N²/4次比较以及N²/4次交换。最坏情况下需要N²/2次比较和N²/2次交换。最坏需要原创 2020-11-20 18:03:18 · 61 阅读 · 0 评论 -
Java排序--选择排序
在排序中我们这里使用的是继承自Comparable接口的数据,因为一般写方法的时候都是为了解决某一类的问题,而不是特指某一个问题。至于基本类型,封装类已经实现了Comparable接口,可以对照java的api来使用。 过程: 选择排序是一种简单的排序:首先找到数组中最小的元素,将它和第一个元素交换(如果第一个元素是最小元素,就和自己交换)。再次从剩下的元素中找到最小的元素,与第二个位置交换,如此往复,直到将整个数组排序,这种方法交选择排序。 特点 运行时间和输入无关:为了找到数组中的最小的元素会遍历一次数原创 2020-11-13 17:25:24 · 89 阅读 · 0 评论