04 2019 档案
摘要:归并排序: 先分解再合并。 分解:分为若干个子序列,每个子序列是有序的。 合并:然后再把有序子序列合并为整体有序序列。 java public class MergeSortTest { public static void main(String[] args) { int[] array = {
阅读全文
posted @ 2019-04-29 10:53
西北野狼
摘要:java算法 希尔排序 基本思想:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列 中的记录“基本有序”时,再对全体记录进行依次直接插入排序。 1. 操作方法: 选择一个增量序列 t1,t2,…,tk,其中 ti tj,tk=1; 2. 按增量序列个数 k,对序列进行 k
阅读全文
posted @ 2019-04-24 11:34
西北野狼
摘要:java算法 快速排序 快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。一次循环:从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果没有继续比较下一个,直到找到第一个比基准值小的值
阅读全文
posted @ 2019-04-17 16:26
西北野狼
摘要:java算法 插入排序 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。插入排序非常类似于整扑克牌。在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从 桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。为了找到这张牌的正确位置,要将它与手中已有的牌从右到
阅读全文
posted @ 2019-04-16 17:55
西北野狼
摘要:java算法 冒泡排序 1. 比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。 2. 这样对数组的第 0 个数据到 N 1 个数据进行一次遍历后,最大的一个数据就“沉”到数组第N 1个位置。 3. N=N 1,如果 N 不为 0 就重复前面二步,否则排序完成。
阅读全文
posted @ 2019-04-16 11:00
西北野狼
摘要:折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。 通过递归和非递归实现二分查找: java public
阅读全文
posted @ 2019-04-15 17:09
西北野狼

浙公网安备 33010602011771号