网站首页 二手房 > 综合生活 > 正文
想必现在有很多小伙伴对于电路布线问题(动态规划)方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于电路布线问题(动态规划)方面的知识分享给大家,希望大家会喜欢哦。
1、问题分析
2、最优子结构性质记N(i,j) = {t|(t, π(i)) ∈ Nets,t ≤ i, π(t) ≤ j }. N(i,j)的最大不相交子集为MNS(i,j)。Size(i,j)=|MNS(i,j)|。
3、当i = 1时
4、转载或者定引用本厂文内到容请注明来源照于芝正士回答
5、当i >1时,① j
6、递归计算最优值经以上后分,可电路布线问题的最优值为Size(n,n)。由该问题的最优子结构性质可知:
7、根据上面递归式可以得到二维表:
8、红色标明的就是算法选择的路径(向上优先,也可以用向左优先,答案都是四个,但值会有一点不同)。在斜角值改变时可以取得所求的子集。即 9->10,7->9,5->5,3->4
9、C++源码实现
10、/** 计算最优值* 输入参数C[]: 接线方式* 输入参数n : 接线柱数* 输入参数size: 二维表数组*/void mnset(int C[],int n,int *size){ int i,j; // 当i = 1时 for(j = 0;j
11、/** 构造最优值* 输入参数C: 接线方式* 输入参数size: 二维表数组* 输入参数n : 接线柱数* 输入参数Net: 最大子集数组* 输入参数m: 最大子集数*/void traceBack(int C[], int *size, int n, int Net[], int &m){ int i,j = n; m = 0; for (i = n;i>1;i--) { if (size[i*(n+1)+j] != size[(i-1)*(n+1)+j]) { Net[m++] = i; j = C[i] - 1; } } if (j >= C[1]) { Net[m++] = 1; }}
12、测试代码int main(){ int n; // 接线数目 int num; // 最大子集数 int *l; // 接线方式 int *p; // 子集数 int *size; // 二维表数组 cout > n; // 动态创建热线方式数组 l = new int[n+1]; // 动态创建子集数组 p = new int[n+1]; // 临时动态创建二维数组 int **temp; temp=new int*[n+1]; for(int i=0;i
13、大三相线战极带类况连值王京。
本文到此结束,希望对大家有所帮助。
版权说明: 本文由用户上传,如有侵权请联系删除!
猜你喜欢:
- 2022-09-29 关于打篮球的规则英文(关于打篮球的规则)
- 2022-09-29 五谷怎样读?(五谷词语如何读)
- 2022-09-29 最经典求婚告白词简短(圣诞节求婚表白的句子有什么)
- 2022-09-29 吃红薯叶的坏处(吃红薯叶有好处吗)
- 2022-09-29 精髓的拼音是什么呢(精髓读音和解释)
- 2022-09-29 魔方口诀步骤(魔方入门口诀教程)
- 2022-09-29 不能与灯笼草一起吃的食物是什么(不能与灯笼草一起吃的食物)
- 2022-09-29 梦到脚后跟长牙齿(梦见脚后跟的解释)
最新文章:
- 2023-07-02 怎么选择好羊奶(挑选优质羊奶 如何挑选优质羊奶)
- 2023-07-02 最完整木质结构的古代皇宫建筑群(木质结构古代皇宫建筑群是什么)
- 2023-07-02 红木家具如何挑选
- 2023-07-02 卫生间太暗怎么装修(卫生间太暗怎么办)
- 2023-07-02 窗户贴膜怎么贴才好(窗户贴膜怎么贴)
- 2023-07-02 保险丝熔断的原因初中物理(保险丝熔断的原因是什么)
- 2023-07-02 左眼皮一直跳怎么回事女生(左眼皮一直跳怎么回事)
- 2023-07-02 狗狗乱拉便便怎么办(狗狗乱拉粑粑怎么办)
- 2023-07-02 金毛皮肤病是什么样子(金毛狗狗的皮肤病要如何处理)
- 2023-07-02 榆木家具怎么样(榆木家具怎么保养)
- 2023-07-02 煤气灶保养小常识(煤气灶如何保养)
- 2023-07-02 好听不易撞的网名二字带特殊符号(2020特殊符号网名)
- 2023-07-02 小区房子地基下沉怎么办(地基下沉怎么办)
- 2023-07-02 怎样除猫猫身上的跳蚤(怎么除掉猫身上的跳蚤)
- 2023-07-02 五险一金指什么工厂(五险一金指什么)
- 2023-07-02 空调选购技巧(空调机如何选购)