控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

C#示例:加油站回溯算法设计

作者:不详 出处:IT专家网 2010年02月03日 阅读:

加油站回溯算法设计(C#):

  using System;
  Namespace jiayouzhan
  {
  /**////
  /// Class1 的摘要说明。
  ///
  Class Class1
  {
  /**////
  /// 应用程序的主入口点。
  ///
  static double sum=7;//加油站总数
  static double csum=0;//当前加油总数
  static double bestsum=6;//最优解
  static double s=100;//总路程
  static double cs=0;//当前走过的路程
  static double n=30;//满油能走的路程
  static double cn=30;//当前能走的路程
  static double[ ] a={0,20,10,10,10,20,10,20};//加油站分布static double[ ] b={0,0,0,0,0,0,0,0};
  static double p=0;//记录临时CN
  Private static void jiayou (int i)
  {
  if (i>sum
  {
  if(bestsum>csum)
  {
  bestsum=csum;
  Console.WriteLine("{0}",bestsum);
  for(int j=1;j=a[i+1]))
  {
  p=cn;
  cn=n;
  cs+=a[i];
  csum+=1; b[i]=1;
  jiayou(i++);
  cn=p-a[i+1];
  csum-=1; b[i]=0;
  jiayou(i++);
  }
  }
  static void Main(string[] args)
  {
  jiayou(1);
  Console.Read();
  }
  }

  回溯算法的正确性证明

  回溯法具有"通用的解题法"之称它的解空间包括了所有的可行解与不可行解我们通过剪枝比较最终得到的最优解,所以使用回溯算法一定是可以得到最优解,即回溯算法解该题具有正确性。

  回溯算法时间复杂度分析

  由于回溯算法得到所有的解,最坏的情况在每个加油站都加油即n次,其次加油次数为n-1次,n-2次,n-3次……1次,0次。又由于加油地点不同根据不同的组合,我们分析得出时间复杂度为2的n次方。

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统