
算法
文章平均质量分 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 · 2574 阅读 · 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 · 2169 阅读 · 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 · 1174 阅读 · 0 评论 -
旅行售货员_分支限界法_java实现
旅行售货员问题用回溯法貌似更容易实现一些,网上代码很多。这里给出用分支限界法的java实现。问题描述:某售货员要到若干城市去推销商品,已知各城市之间的路程(或旅费)。他要选定一条从驻地出发,经过每个城市一遍,最后回到驻地的路线,使总的路程( 或旅费)最小。各个城市之间可能是有向连通的、无向连通的、以及存在某个城市不连通的情况,你的程序应该能够处理所有可能的情况。如下图表示各个城市间无向连通原创 2012-03-22 18:58:05 · 7605 阅读 · 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 · 1328 阅读 · 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 · 8862 阅读 · 0 评论