分支限界法之布线问题

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  一、要求:

  1、输入电路板区域n*m以及布线的起始位置和结束位置;

  2、输出布线方案;

  3、可以使用c或者vc实现

  二、问题分析及实验原理:

  在n*m的方格阵列中存在封锁区域(布线时必须绕开的区域),找到起始位置到目标位置的最短路径。从目标位置开始向起始位置回溯,逐步构造最优解。每次向标记距离比当前方格标记距离少1的相邻方格移动,直到到达起始方格为止。

  三、算法程序源代码:

  #include <iostream>

  #include<stdio.h>

  using namespace std;

  typedef struct

  {

  int row ;

  int col ;

  }Position;

  typedef struct

  {

  //struct Position;

  int row[10000] ;

  int col[10000] ;

  int end;

  int begin ;

  }Queue;

  int grid[100][100];

  Position start, finish;

  int PathLen = 0;

  Position * path;

  int n , m , a , b , x ;

  bool FindPath(Position start,Position finish)

  {//计算从起点位置start到目标位置finish的最短布线路径,找到最短布线路//径则返回true,否则返回false

  if((start.row==finish.row) && (start.col==finish.col))

  {

  PathLen=0;

  return true;

  } //start=finish

  //设置方格阵列“围墙”

上一页123下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答