正在加载图片...
★算法思路: 本题是利用蒙特卡罗算法,将节点1。n随机排 序,计算此排列的哈密顿回路的长度并保存路径。 (如1324序列,则此排列长度为 c(13)+c(32)+c(24)+c(41)) 然后 for(int i=2;i<=n; i++) for(int j=2;j<=n:j++) 判断交换节点i,后哈密顿回路的长度有没有变短, 有的话进行交换并更新最优值,否则不交换。 }/计算此随机排列哈密顿回路长度的最小值 多次执行(执行1秒)取最小值作为最优长度。算法思路: 本题是利用蒙特卡罗算法 ,将节点1..n随机排 序,计算此排列的哈密顿回路的长度并保存路径。 (如 1 3 2 4序列,则此排列长度为 c(1,3)+c(3,2)+c(2,4)+c(4,1)) 然后 for(int i=2;i<=n;i++) for(int j=2;j<=n;j++) { 判断交换节点i,j后哈密顿回路的长度有没有变短, 有的话进行交换并更新最优值,否则不交换。 } //计算此随机排列哈密顿回路长度的最小值 多次执行(执行1秒)取最小值作为最优长度
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有