预览截图
应用介绍
start 为起始节点 TXT1 为首端节点集合 TXT2 为末端节点集合
start = 'SOURCEBUS' current = []#当前层节点集合 nextset = []#下一层节点集合 cmpl = []#最后形成的节点顺序 tpf = []#最后形成的支路顺序 current.append(start) cmpl.append(start) while len(current) != 0: for m in range(len(current)):#取当前层节点集合一个新节点ll;current取完 n1 = TXT1.count(current[m]) n2 = TXT2.count(current[m]) if n1 + n1 > 1 or current[m] == start:#ll所连支路>1 or ll为首端节点 for mm in range(len(TXT1)): if current[m] == TXT1[mm]:#TXT1[mm]为支路另一端节点 mm为支路编号 if tpf.count(mm) == 0:#此支路未遍历 tpf.append(mm) if cmpl.count(TXT2[mm]) == 0:#支路另一端节点未遍历 cmpl.append(TXT2[mm]) nextset.append(TXT2[mm]) for mm in range(len(TXT2)): if current[m] == TXT2[mm]:#TXT1[mm]为支路另一端节点 mm为支路编号 if tpf.count(mm) == 0:#此支路未遍历 tpf.append(mm) if cmpl.count(TXT1[mm]) == 0:#支路另一端节点未遍历 cmpl.append(TXT1[mm]) nextset.append(TXT1[mm]) current = nextset nextset = [] output = open('广度优先排序.xls','w') for m in range(len(cmpl)): output.write('\t' + cmpl[m] + '\n') output.close()
©版权声明:本文内容由互联网用户自发贡献,版权归原创作者所有,本站不拥有所有权,也不承担相关法律责任。如果您发现本站中有涉嫌抄袭的内容,欢迎发送邮件至: www_apollocode_net@163.com 进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
转载请注明出处: apollocode » python 实现广度优先排序
文件列表(部分)
名称 | 大小 | 修改日期 |
---|---|---|
Elements.Txt | 59.58 KB | 2020-12-08 |
P@T3TY@PM(_YK4PZ`V9N18Y.png | 98.56 KB | 2021-03-13 |
广度优先排序.xls | 15.52 KB | 2021-01-07 |
拓扑关系.xls | 29.14 KB | 2021-01-07 |
节点排序出EXCEL.py | 0.87 KB | 2021-01-07 |
阿波罗上传 | 0.00 KB | 2021-03-13 |
发表评论 取消回复