python 实现广度优先排序

python实现广度优先算法

预览截图

应用介绍

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()


文件列表(部分)

名称 大小 修改日期
Elements.Txt59.58 KB2020-12-08
P@T3TY@PM(_YK4PZ`V9N18Y.png98.56 KB2021-03-13
广度优先排序.xls15.52 KB2021-01-07
拓扑关系.xls29.14 KB2021-01-07
节点排序出EXCEL.py0.87 KB2021-01-07
阿波罗上传0.00 KB2021-03-13

立即下载

相关下载

[磁耦合谐振buckss仿真] 无线电能传输技术可有效地解决电源接入问题,使充电过程便捷、安全,解决了传统依靠电导体直接进行物理接触的电源直接接触式输电模式所带来的插电火花、积碳、不易维护、易产生磨损,特别是在特殊环境下用电存在的安全隐患等问题。
[QT学习日记篇01(1)-QT界面初探- *.pro文件详解] Qt基础课程完结项目,完成一款小游戏并封装:翻金币游戏,通过点击金币进行翻面,让所有金币为同一面就游戏通过进入下一关。 过程中会使用前面学到的 “信号和槽”,“Qt图片资源显示”,“Qt播放音频”,“Qt绘图函数”,“Qt消息控件”等等知识。是一次前面所学知识的汇总。
[MMC模块化多电平换流器常用调制策略的对比分析] 在Matlab/Simulink环境下分别搭建了桥臂数量为6和10的两种调制方法的仿真模型,分析了模块数量与调制方法对输出的正弦电压的影响。
[svpwm同步调制] 同步调制下,通过把载波的频率固定为参考波频率的整数倍,同时固定两者的相位关系。通过这种方法可以消除3的倍数次谐波,并且通过适合pwm波正负半周期对称(N载波比取奇数),消除偶次谐波,总体同步调制所含谐波只为6k+1也就是5 7 11 13次谐波等。
[避雷器comsol仿真] comsol实现避雷器的电,磁,热仿真计算模型
[FPGA车牌识别代码

评论列表 共有 0 条评论

暂无评论

微信捐赠

微信扫一扫体验

立即
上传
发表
评论
返回
顶部