摘要: 算法简介: 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序, 待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。 实现思路: 示例图: JAVA算法实现: 阅读全文
posted @ 2017-08-04 19:22 Substitute 阅读(141) 评论(0) 推荐(0)
摘要: 算法简介: 选择排序就是每一趟选择最小或者最大的数,然后与起始位置进行交换。 实现思路: 1、从第一个数开始,找到最小或者最大的数,与第一个数进行交换。 2、从剩余未排序元素中继续寻找最小(大)元素,然后与第二个元素进行交换。 3、以此类推,直到所有元素均排序完毕。 JAVA算法实现: 阅读全文
posted @ 2017-08-03 20:21 Substitute 阅读(163) 评论(0) 推荐(0)
摘要: 算法简介: 简单来看,插入排序就像我们打扑克牌,(别告诉我你没玩过斗地主)。我们每次摸牌,都会按从大到小或者从小到大的规则,将其插入到指定地方。每次摸牌之间,我们手上的牌都是有序的。 插入排序算法复杂度为O(n^2),适用于数据量较小的情况下使用。 实现思路: 1、从第二个数开始,将其取出,从已排好 阅读全文
posted @ 2017-07-14 15:55 Substitute 阅读(191) 评论(0) 推荐(0)
摘要: 实现思路: 1、通过比较相邻的两个元素,如果第一个数比第二个数大,那么就交换两者的位置 2、第一趟之后,最后一个元素就是整个数组中最大的数。 3、重复步骤一,每一趟最后一个元素在下一趟不参与比较。 4、重复步骤3,直到没有需要比较的数字为止。 java算法实现: 1、普通版冒泡排序: 普通版有个缺陷 阅读全文
posted @ 2017-07-13 16:37 Substitute 阅读(168) 评论(0) 推荐(0)