だから私はいくつかの古い宿題の割り当てを検討してきました、そして私たちが持っていた1つの割り当ては、再帰を使用してツリーの奇数行(ルートを含まない)を削除することでした。視覚化に役立つように、最初のツリーの画像を次に示します。
したがって、deleteingメソッドが呼び出された後、[bcd]はなくなり、[hi]はなくなります。これが再帰的なコードです。
def deleteOddRows(self):
oddRemoval = [] #Generate list with odd rows removed
for child in self.getChildren(): #Children of the root
for childChildren in child.getChildren(): #Grandchildren
oddRemoval.append(childChildren) #Puts into list
childChildren.deleteOddRows()
self.children = oddRemoval
私は今この問題に戻り、動的計画法を使用して問題を解決しようとしましたが、私が探している結果を得る解決策に頭を悩ませているようには見えません。誰かが私を正しい方向に向けるのを手伝ってくれるなら、それは大きな助けになるでしょう。ありがとう!