摘要: 希尔排序法基本思想: 把记录按下标的一定增量分组,对每组使用直接插入排序算法排序; 随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个记录恰被分成一组,算法便终止 阅读全文
posted @ 2019-10-12 14:50 fly_bk 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 基本思想: 把n个待排序的元素看成为一个有序表和一个无序表, 开始时有序表中只包含一个元素,无序表中包含有n-1个元素, 排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较, 将它插入到有序表中的适当位置,使之成为新的有序表。 缺点: 当需要插入的数是较小的数时,后 阅读全文
posted @ 2019-10-12 14:46 fly_bk 阅读(290) 评论(0) 推荐(0) 编辑
摘要: import java.util.Arrays; /** * 选择排序 * 基本思想是: * 第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换, * 第二次从arr[1]~arr[n-1]中选取最小值,与arr[1]交换, * 第三次从arr[2]~arr[n-1]中选取最小值,与arr[2]交换,…, * 第i次从arr[i-1]~arr[n-1]... 阅读全文
posted @ 2019-10-12 11:26 fly_bk 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 小结: (1)相邻的元素逆序就交换,一个进行了数组大小-1趟循环 (2)每一趟排序的次数在逐渐的减少 (3)需要优化的地方:如果在某趟排序中没有发生一次交换,可以提前结束排序 阅读全文
posted @ 2019-10-12 09:51 fly_bk 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 算法的时间复杂度: 基本案例: 计算1-100所有数字之和: T(n)可忽略的项: - 常数项:如:2n+20 和 2n 随着n 变大,执行曲线无限接近, 20可以忽略 - 低次项:如:2n^2+3n+10 和 2n^2 随着n 变大, 执行曲线无限接近, 可以忽略 3n+10 - 系数:如:随着n 阅读全文
posted @ 2019-10-12 08:58 fly_bk 阅读(395) 评论(0) 推荐(0) 编辑