算法
eknown
这个作者很懒,什么都没留下…
展开
-
排序算法之直接插入排序
最近准备面试,发现算法都快忘光了,抽空整理学习一下。 这一篇是关于直接插入排序的。 概念:将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录+1的有序表。也即:先将序列的第一个记录看成是一个有序的子序列,然后从第二个记录开始,逐个地将后面的记录进行插入,直至整个序列都按照我们想要的样子进行了排序。 简单来说,对于整数数组,采取升序的方法,就是从第一个位置的数开始,首先去原创 2017-09-15 10:26:39 · 261 阅读 · 0 评论 -
排序算法之简单选择排序
简单选择排序算法,它的概念就是在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。 这个算法是很容易理解的,那么,直接上代码。 最下面的一个方法是关于简单选择算法的进化---二分选择算法的示例。 可以参照注释。原创 2017-09-15 15:39:18 · 614 阅读 · 0 评论 -
排序算法之冒泡排序
概念: 在要进行排序的一组数中,对于当前还未排好序的范围内的所有数,从上而下,比较相邻两个数的大小,让较大的往下沉,较小的往上冒(即,交换位置,也就是冒泡二字的来由)。概要地来说,就是每当相邻的两个数比较后发现它们的排序与要求相反时,互换。 算法实现: public static void bubbleSortDESC(int[] num) { int size=原创 2017-09-20 17:22:38 · 165 阅读 · 0 评论 -
斐波那契数列递归实现(Java)
斐波那契数列: F(n)=F(n-1)+F(n-2);(n>=2) F(0)=0;F(1)=1; 递归实现: public int Fibonacci(int n) { if(n<=1){ return n; }else{ return Fibonac原创 2017-09-29 17:57:17 · 666 阅读 · 0 评论