- 博客(9)
- 收藏
- 关注
转载 Boyer-Moore算法
public class Solution { public String strStr(String haystack, String needle) { int begin = bm(haystack, needle); return begin == -1 ? null : haystack.substring(begin); } int bm(String str, Str
2014-04-25 12:30:14
545
原创 最大流 : FordFulkerson 算法
import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; public class FordFulkerson { static final int M = 10000; // unreachable /** * 查找AugmentPat
2013-09-02 18:25:40
562
原创 每对顶点的最短路径 : Johnson 算法
import org.apache.commons.lang.builder.ToStringBuilder; /** * 稀疏图上的Johnson算法 结合 BellmanFord 和 Dijkstra 算法 * */ public class Johnson { static final int M = 10000; // unreachable /** * * @p
2013-08-30 16:05:13
644
原创 每对顶点的最短路径 : Floyd-Warshall 算法
public class FloydWarshall { static final int M = 10000; //unreachable //extend-shortest-path static int[][] extendShortestPath(int[][] L, int[][] W) { int[][] R = new int[L.length][L[0].lengt
2013-08-29 10:52:23
576
原创 每对顶点的最短路径 : 基本算法
public class AllPairsShortestPaths { static final int M = 10000; //unreachable //extend-shortest-path static int[][] extendShortestPath(int[][] L, int[][] W) { int[][] R = new int[L.length][L[
2013-08-29 10:39:44
825
原创 单源最短路径 : Dijkstra 算法
public class Dijkstra { static final int M = 10000; static void dijkstra(int[][] edges, int s) { int vertexs = edges.length; // dist int[] d = new int[vertexs]; // π int[] p = new int[ve
2013-08-27 10:12:01
491
原创 最小生成树 : Prim 算法
public class Prim { static final int M = 10000; static int extractMin(int[] key, boolean[] visited) { int min = M; int idx = -1; for(int i = 0; i < key.length; i++) { if(!visited[i] && k
2013-08-22 18:57:30
525
原创 最小生成树 : Kruskal 算法
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Kruskal { static final int M = 10000; static class Edge implements Comparable { char u; char v;
2013-08-22 18:12:51
337
原创 单源最短路径 : Bellman-Ford 算法
public class BellmanFord { static boolean BellmanFord(int[][] graph, char s) { int[] p = new int[graph.length]; int[] dist = new int[graph.length]; for(int i = 0; i dist[i] = M; p[i] = -1;
2013-08-22 16:20:50
488
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅