python怎么读循环分类问题,一个数可以同时分为好几类,如何减少计算量

谢谢回楼上,这是一个有向图嘚遍历问题计算一个顶点经过N步后能够到达多少点,
你给出的算法能够避免将重复的点加入我原来的算法是利用了集合的元素不重复特性,实现相同节点不加入我在试看看速度能提高多少。

我的改动不是要避免重复加入节点,而是为了避免重复加入节点后的for循环.

答案不對是因为: 有的节点(X)可能与起始节点(S)相邻, 但又有路径(P)使得X与S的距离更大(假设是3). 作为与S距离为1的节点, 他有资格把所有与他距离为3的节点加上, 但莋为距离为3的节点,  他只能把与他距离是1的节点加上. 如果X先作为距离为3的节点被加进去了, 他的距离为1的"身份"就被屏蔽掉了, 得到的答案就少了佷多.

解决的办法是用宽度优先的搜索, 或者更直接的: 先列出距离是1的节点, 再出距离是2的节点...


其实很简单就是打开文件A,只讀打开文件B,只写循环读取A每一行,如果找到for找range(,把range(的左括号之前全部拷贝到新文件并把参数统统带上int()之后拼上右边DONE。如果没有找到for直接拷贝整行。

我要回帖

更多关于 python怎么读 的文章

 

随机推荐