作者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)
→ Sforever:用function就好 為什麼要用object, 遞迴就是呼叫自己 03/08 16:57
→ MicroPtt:因為我不知道函數要怎麼產生兩個輸出..不是都只有一個 03/08 17:39
→ MicroPtt:return,就是頂多只能一輸出會回傳?可是我分裂出兩個輸出 03/08 17:41
→ Sforever:python 可以return 多個值阿 或者轉成list也可 03/08 19:05
→ Sforever:ex. return A1, A2 用 a,b = func() 接收return值 03/08 19:06
→ MicroPtt:謝謝~~我試看看 03/08 19:36