
java算法
ifengouy
这个作者很懒,什么都没留下…
展开
-
反转算法
1、数组反转如:{1,2,4}反转后的数组为{3,2,1}。算法描述:将第1个数和第n个数替换,第2个数和第n-1个元素替换,直到左边元素索引大于右边。private static void reverseArr(int[] arr) { for (int start = 0, end = arr.length - 1; start < end; start++, end--) {原创 2016-05-29 16:57:57 · 1017 阅读 · 0 评论 -
排序算法
1、直接插入排序直接插入排序是插入排序的一种,插入排序还包括希尔排序、折半插入排序。插入排序:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。算法:首先在当前有序区R[1..i-1]中查找R[ i]的正确插入位置k(1≤k≤i-1);然后将R[k..i-1]中的元素均后移一个位置,腾出k位置上的空间插入R[i]。 public static void i原创 2016-05-29 20:05:26 · 263 阅读 · 0 评论 -
递归算法
递归算法定义:递归算法就是在当前的函数中直接或间接的调用自己并传给相应的参数的算法。递归函数的特点(1)函数要直接或间接调用自身。(2)要有递归终止条件检查,即递归终止的条件被满足后,则不再调用自身函数。(3)在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。1、使用递归算法求解斐波那契数列Fibonacci数列即斐波那原创 2016-05-29 21:23:05 · 494 阅读 · 0 评论 -
关于质数的算法
质数(prime number)又称素数,除了1和它本身以外不再有其他的除数整除,最小的质数是2。算法:用这个数分别去除2到这个数的一半,如果能被整除,则表明改数不是素数。用java代码表示如下:private static boolean isPrime(int n) { if (n < 2) { return false; } else if (n == 2) {//2是最原创 2016-05-29 23:34:07 · 440 阅读 · 0 评论