算法
文章平均质量分 79
daijope
这个作者很懒,什么都没留下…
展开
-
插入排序
1.插入排序的时间复杂度是O(n*n),当需要排序的数组的顺序是有序的时候,其时间复杂度为O(n)。 代码: package com.cn.insertion; /** * 插入排序 * @author Administrator * */ public class原创 2011-08-05 15:50:32 · 404 阅读 · 0 评论 -
算法之堆排序
Java code: package com.cn.insertion; public class HeadSort { public static void main(String[] args) { int[] a = new int[]{4, 1, 3, 2, 1原创 2011-08-07 11:42:36 · 500 阅读 · 0 评论 -
回溯法解八皇后问题
package com.cn; import java.util.Arrays; /** * 回溯法解八皇后问题,我们用x[]来保存每一行我们放的皇后的位置,k表示的是哪一行。 * 然后开始寻找,最开始的时候k = 0,表示第一行, x[k] = x[k] + 1,把皇原创 2011-09-16 14:09:25 · 929 阅读 · 1 评论 -
Java C 实现Bellman-ford算法
package com.cn.tree; public class MyException extends Exception { private static final long serialVersionUID = 1L; public MyException原创 2011-09-16 10:10:01 · 2489 阅读 · 5 评论 -
算法之快速排序
Java code: package com.cn.insertion; import java.util.Random; /** * 快速排序在最坏的情况下的时间复杂度为O(n*n),平均与最好的情况的时间 * 复杂度为O(nlog(n))。快速排序的主要思想是每一次选定一个Key值,然后 * 把大于key的数放到key后面,把小鱼key的数放到key的前面,这样key的位 *原创 2011-08-07 13:50:47 · 457 阅读 · 0 评论 -
Java 实现Dijkstra(迪杰斯特拉)算法
关键字: Dijkstra(迪杰斯特拉) 小顶堆 Java package com.cn.graph; /** * Node 来表示图中的点的信息,其中value表示的是其到原点的距离,vex代表的是哪一个点。 * 在我们建立小顶堆的时候,value的值与vex一同交换,因此value与vex总是成对出现的。 * 首先我们用数组来保存有向图的信息,m代表着无原创 2011-09-15 23:59:31 · 4325 阅读 · 1 评论 -
RSA 加密算法
1.RSA 非对称加密算法的一种。 2.一些基础知识: 1) gcd(a, b) 为a, b的最大公约数,如果gcd(a, b) = 1,则称a, b 互素。 2) 模运算, mod。如果(a mod n) = (b mod n),则称a与b模n同余。 3)欧拉函数,定义φ(n)为欧拉函数,那么φ(n)的值为比n小并且与n互为素数的正整数的个数。比如φ(9) = |{8, 7, 5,4,2原创 2014-01-10 22:55:31 · 598 阅读 · 0 评论