[数据生成器] 无根树
2016-07-04 21:58
344 查看
平生第一次实践Python语言,用于给一道数据结构题生成数据,在这里记录一下构造无根树的部分。
按引用传值好别扭……用list建邻接表,初始化的时候用
还有简化版本。
这样的树从形态上来讲是随机的。
按引用传值好别扭……用list建邻接表,初始化的时候用
L=[[]]*(n+1),dfs遍历总是不对,调了好一会儿。结果,发现加边的时候list里所有元素都在变……
#!/usr/bin/python3 from random import * n = int(input()) A = [i+1 for i in range(n)] print(n) for i in range(n): x = randint(i, n-1) A[i], A[x] = A[x], A[i] for i in range(1, n): x, y = A[i], A[randint(0, i-1)] if randint(0, 1) == 0: print('{} {}'.format(x, y)) else: print('{} {}'.format(y, x))
还有简化版本。
#!/usr/bin/python3 from random import * n = int(input()) print(n) for i in range(1, n): print('{} {}'.format(i, randint(1, i-1))
这样的树从形态上来讲是随机的。
相关文章推荐
- C语言中 #include的作用
- Entities and Entities's Relation Extraction of ACE 2005
- 线程死锁
- Eclipse编译C,C++,JAVA程序
- Windows2008系统中IIS的安装配置图文教程
- 一键让Linux的vim显示行号
- 【递归与递推】电话号码
- [20160704]Addition program that use JOptionPane for input and output
- FJ省队集训DAY2 T2
- PAT (Advanced Level) 1095. Cars on Campus (30)
- jQuery的document ready与 onload事件——你真的思考过吗?
- 一个新的开始,用博客记录自己的成长
- ThreadLock 线程锁、同步一段代码
- 【递归与递推】计数器
- Figures in articles
- 锤子便签的 monkeyrunner 测试脚本(转)
- monkeyrunner对比屏幕局部图像.getSubImage()
- 红包
- 【bzoj2502】【清理雪道】【最小流】
- python操作linux关机、重启和修改ip地址