
算法
文章平均质量分 68
慢慢来de小蜗牛
抓狂
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
GCD(Greatest Common Divisor)最大公约数
两个整数的最大公约数是能整除这两个整数的最大数。 下面给出几种算法,求两个整数m和n的最大公约数。 一种是穷举法。该算法检测k(k=2,3,4,等等)是否是m和n的公约数,直到k大于n或者m。该算法可以如下描述: public static int gcd(int m,int n){ int gcd = 1; for(int k=2;k<=m&&k<=n;k++){原创 2013-09-24 19:55:45 · 463 阅读 · 0 评论 -
排序算法
1.冒泡排序 冒泡排序算法需要遍历几次数组。在每次遍历中,比较连续相邻的元素。如果某一对元素是降序,则互换他们的值;否则,保持不变。由于较小的值像“气泡”一样逐渐浮向顶部,而较大的值沉向底部,故称这种技术为冒泡排序或下沉排序。第一次排序后,原创 2013-10-10 19:14:37 · 384 阅读 · 0 评论 -
图的基本算法
/** * Title: 图的遍历、最小生成树、最短路径 * * * Description: * * 采用邻接矩阵做为图存储结构,有权无向图,不相连的值为 -1 * * 图的遍历中深度遍历采用递归方法,广度遍历使用辅助队列 * * 最小生成树采用克鲁斯卡尔(Kruskal)算法,使用一数组记录节点的连通情况 * * 图的最短转载 2013-06-17 15:05:29 · 379 阅读 · 0 评论 -
寻找素数
对于一个大于1的整数,如果其除数只有1和它本身,那么它就是一个素数(Prime)。 如何确定一个数字是否是素数?可以采用穷举法,检测是否能整除。如果不能,那么就是素数。这个算法耗费时间来检测是否是一个素数。然而,只需要检测是否能整除。如果不能,那么就是素数。算法的效率提高了一些,它的复杂度仍是。 实际上,我们可以证明,如果不是素数,那么必须有一个大于1且小于或等于的因子。下面是证明的过程。因为原创 2013-09-25 14:28:05 · 411 阅读 · 0 评论 -
斐波拉契数
1.斐波拉切数列的一般递归方法如下: public static long fib(long index){ if(index==0) return 0; else if(index ==1) return 1; else return fib(index-1)+fib(index-2); } 2.算法复杂度 我们可以证明这个算法的复杂度是原创 2013-09-23 14:02:38 · 575 阅读 · 0 评论