作者MicroPtt (Mission Start)
看板Python
标题[问题] 二元分裂树问题
时间Mon Mar 8 15:56:27 2010
我想要得到一个类似二元分裂树的程式。
架构大概是头会分裂出两个区域,假如该区域数量小於100
则程式结束,反之继续分裂。(可能会用到递回的写法)
流程图如下:
http://hautin.myweb.hinet.net/flowchart.jpg
想要的结果类似如下图:
http://hautin.myweb.hinet.net/bisection.jpg
目前我写了一个class为bisection做为分割两区域用
class bisection(object):
def __init__(self, A = A) #A为输入
self.A1 = A1 #分割後输出区块1
self.A2 = A2 #分割後输出区块2
a = bisection()
if a.A1 < 100:
结束
else:
bisection(a.A1) #区块1原本为输出,现在变成二分程式输入
if a.A2 < 100:
结束
else:
bisection(a.A2) #区块2原本为输出,现在变成二分程式输入
接下来我该怎样让二分程式继续递回分割下去
※ 编辑: MicroPtt 来自: 140.118.206.70 (03/08 16:03)
1F:→ Sforever:用function就好 为什麽要用object, 递回就是呼叫自己 03/08 16:57
2F:→ MicroPtt:因为我不知道函数要怎麽产生两个输出..不是都只有一个 03/08 17:39
3F:→ MicroPtt:return,就是顶多只能一输出会回传?可是我分裂出两个输出 03/08 17:41
4F:→ Sforever:python 可以return 多个值阿 或者转成list也可 03/08 19:05
5F:→ Sforever:ex. return A1, A2 用 a,b = func() 接收return值 03/08 19:06
6F:→ MicroPtt:谢谢~~我试看看 03/08 19:36