简单有向无环图,带cicle检测器和拓扑排序工具。

py_sdag2的Python项目详细描述


#python简单有向无环图的python简单有向无环图具有cicle检测器和拓扑排序工具。



tsort.py


从标准输入:

``bash
echo-e'c a\na b\nb d\nc d'tsort.py
````


>来自另一个文件的源:

``bash
echo-e'c a\na b\nb d\nc d'>;TICS.BR/>‘BRH/BR/> T.T.BR/>‘BR/>< BR> > BASH
TSOR.PY-帮助< BR/>用法:To.pY[Oft] [文件[OutOxFiel] ]
BR/>选项:
-H,帮助显示此帮助消息,并退出
F文件,文件=文件,无文件,或文件为,真读取标准输入。
-o out_file,--out file=out_file
将结果写入out_file,默认为标准输出。
-s sep,--sep=sep
items separator,默认为regex。
-q quit_seq,--quit sequence=quit_seq
停止读取文件,其中第行等于quit_seq,默认值为
:quit。
`````

````tests
``tests

``python
import unittest
from sdag2 import dag,循环检测异常

class dagtest(unittest.testcase):
def test_simple(self):
'
按以下顺序测试垂直设备:

'

dag=dag()
a=dag.add(“a”)
b=dag.add(“b”)
c=dag.add(“c”)
d=dag.add(“d”)

dag.add_edge(c,a)
dag.add_edge(a,b)
dag.add_edge(b,d)
dag.add_edge(c,d)

rs=dag.topologicaly()

self.asserttrue(rs.index(“c”)<;rs.index(“a”))
self.asserttrue(rs.index(“a”)<;rs.index(“b”))
self.asserttrue(rs.index(“b”)<;rs.index(“d”)
self.asserttrue(rs.index(“c”)<;rs.index(“d”))

def test_cicle_detect(self):
'
按以下顺序测试垂直设备:

'


>dag=dag=dag()
>a=dag.a d d(“a”)
>b=dag.add(“b”)
>c=dag.add(“c”)
>d=dag.add(“d”)


>dag.add边缘(c,a)
>dag.add边缘(a,b)
>dag.add边缘(b,d)
>dag.add边缘(c,d)


>


>

#在a-->;c-->;a
dag处添加cicle。添加边缘(a,c)
引发异常(“未检测到循环”)
除了循环检测异常:pass


def main():
unittest.main()

```

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
正则表达式Java使用关键字拆分字符串   Neo4j Java API模式索引范围查找?   java访问JButton[]   java如何混淆tomcat日志文件中的请求属性   apache运行CGI Java程序   java从一个Eclipse插件开始,我如何通过编程使Eclipse编辑某个文件?   从php中的SQL数据库到Java中的多个值作为单独的变量   java如何在多个osgi捆绑包之间共享资源   datetime Java time,无法从历元秒解析年份   java无法在安卓应用程序中使用morpho指纹扫描仪设备捕获指纹   java使用groovy/ratpack发送电子邮件   javascript在jsp页面中添加验证,但在控制台中仍然显示一些错误   java如何修复com。mysql。jdbc。DocsConnectionPropsHelper   java AlertDialog dispatchTouchEvent