算法
文章平均质量分 75
mpbchina
目前扯淡中...
展开
-
多边形游戏_动态规划
描述:有一个由n个顶点构成的多边形。每个顶点被赋予一个整数值,每条边被赋予一个运算符“+”或“*”。所有边依次用整数从1到n编号。 游戏第1步,将一条边删除。 随后n-1步按以下方式操作: (1)选择一条边E以及由E连接着的2个顶点V1和V2; (2)用一个新的顶点取代边E以及由E连接着的2个顶点V1和V2。将由顶点V1和V2的整数值通过边E上的运算得到的结果赋予新顶点。原创 2012-03-22 18:14:33 · 2521 阅读 · 0 评论 -
gray码_分治策略_java
public class gray{ public void graycode(int n,int b,int arr[][]){ if(n==0) return; for(int i=0;i<b/2;i++){ arr[i][n-1]=0; arr[b-i-1][n-1]=1; } graycode(n-1,b/2,arr); for(int k=b/原创 2012-03-22 18:11:05 · 2132 阅读 · 0 评论 -
棋盘覆盖_分治策略_java实现
public class qipan { static int MAX_SIZE=16; static int board[][]=new int[MAX_SIZE][MAX_SIZE]; static int tile=0; public void chessboard(int tr,int tc,int dr,int dc,int size){ if(size==1) r原创 2012-03-22 18:10:12 · 1142 阅读 · 0 评论 -
旅行售货员_分支限界法_java实现
旅行售货员问题用回溯法貌似更容易实现一些,网上代码很多。这里给出用分支限界法的java实现。 问题描述: 某售货员要到若干城市去推销商品,已知各城市之间的路程(或旅费)。他要选定一条从驻地出发,经过每个城市一遍,最后回到驻地的路线,使总的路程( 或旅费)最小。各个城市之间可能是有向连通的、无向连通的、以及存在某个城市不连通的情况,你的程序应该能够处理所有可能的情况。如下图表示各个城市间无向连通原创 2012-03-22 18:58:05 · 7499 阅读 · 3 评论 -
单源最短路径_贪心算法
public class TheShortestWay { static int MAX_SIZE=6; public static void dijkstra(int v,float[][]a,float[]dist,int[]prev) { int n=dist.length-1; if(vn)return; boolean []s=new boolean[n+1];原创 2012-03-22 18:15:33 · 1306 阅读 · 0 评论 -
01背包问题_回溯法_java实现
问题描述: 需对容量为c 的背包进行装载。从n 个物品中选取装入背包的物品,每件物品i 的重量为wi ,价值为pi 。对于可行的背包装载,背包中物品的总重量不能超过背包的容量,最佳装载是指所装入的物品价值最高。 输入: 多个测例,每个测例的输入占三行。第一行两个整数:n(n)和c,第二行n个整数分别是w1到wn,第三行n个整数分别是p1到pn。 n 和 c 都等于零标志输入结束。原创 2012-03-22 18:55:57 · 8809 阅读 · 0 评论