资源简介
回溯法之最小长度电路板排列问题,注释详细,python

代码片段和文件信息
#ide:pycharm2019
#python版本:3.7
#作者:eee
#时间:2020.4.25
#最小长度电路板排列问题
class Board():
def Backtrack(selfi):
if i==self.n:
tmp=self.len(i)
if tmp self.bestd=tmp
for j in range(1self.n+1):
self.bestx[j]=self.x[j]
else:
for j in range(iself.n+1):
self.x[i]self.x[j]=self.x[j]self.x[i]
Id=self.len(i)
if Id self.Backtrack(i+1)
self.x[i] self.x[j] = self.x[j] self.x[i]
def len(selfii):
for i in range(1self.m+1):
self.high[i]=0
self.low[i]=self.n+1
for i in range(1ii+1):
for k in range(1self.m+1):
if self.B[self.x[i]][k]==1:
if i self.low[k]=i
if i>self.high[k]:
self.high[k]=i
tmp=0
for k in range(1self.m+1):
if(self.low[k]<=self.n and self.high[k]>0 and tmp tmp=self.high[k]-self.low[k]
return tmp
def ArrangeBoards(Bnmbestx):
X=Board()
X.x=[0 for i in range(n+1)]
X.low= [0 for i in range(m + 1)]
X.high = [0 for i in range(m + 1)]
X.B=B
X.n = n
X.m=m
X.bestx=bestx
X.bestd=n+1
for i in range(1n+1):
X.x[i]=i
X.Backtrack(1)
return X.bestd
def main():
n=8
m=5
B=[[NoneNoneNoneNoneNoneNone]
[None11111]
[None01010]
[None01110]
[None10110]
[None10100]
[None11010]
[None00001]
[None01001]]
p = [0 for i in range(n + 1)]
print(ArrangeBoards(Bnmp))
print(p[1:])
if __name__ == ‘__main__‘:
main()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-07-10 17:06 回溯法之最小长度电路板排列问题\
文件 1987 2020-04-27 20:40 回溯法之最小长度电路板排列问题\CircuitBoard.py
- 上一篇:AWD比赛后门通用脚本
- 下一篇:python爬虫简单源码,附解释。
相关资源
- 易语言python支持库
- Python-BDD100K大规模多样化驾驶视频数据
- Instant Pygame for Python Game Development How
- Biopython Tutorial
- Think Python 2nd
- 一个小小的表白程序(python)
- Python课堂笔记(高淇400集第一季)
- 二级考试python试题12套(包括选择题和
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
评论
共有 条评论