算法
Railshiqian
这个作者很懒,什么都没留下…
展开
-
插入排序-java
/** * 插入排序 * 思路:从下标1开始跟前面的数据进行从小到大排序,保证当前下标前面的数据,都是已经排好序的。 * 这样的话,下标后面的,需要排序的数据,只需要向前对比,并找到自己合适的位置; * 向前查找过程中,若遇到比自己小的数j,则j以及j之前的数据就不需要进行对比了,肯定比自己小, * 这样就省去了跟剩余数对比的逻辑,提高算法效率。 * 复杂度:若数组是一个从小到大已经排好序的数组,则只需要对比n此,复杂度为n * ...原创 2021-04-18 21:16:49 · 105 阅读 · 0 评论 -
快速排序,快排-java
private void quickSort(int[] array, int left, int right) { if (left < right) {// 确保从左到右的满足条件 int i = left;// left 和right在后续的递归时都要用到,所以不能直接操作left,right int j = right; /** * 用于对比的数值,remember用于记录这个数原创 2021-04-18 15:26:44 · 102 阅读 · 0 评论 -
冒泡-java
/** * 冒泡排序 * 每次循环一轮,选出最大的一个,放在队胃 * 复杂度n*n * 可优化处:第二个for训话中的条件,j < len - i,复杂度变为n*(1+n)/2,约等于n*n/2 */ @Test public void bubbingSortTest() { int[] array = getIntArray(); int len = array.length; ...原创 2021-04-18 15:24:29 · 190 阅读 · 0 评论