0
確定我有這樣的樹:通過遍歷一棵樹方案
a6
/ | \
a1 a2 p1
/ \
a1 a2
,我需要一些代碼來遍歷它。 在深度清單represantation它是這樣的權利? (a1 a2(a1 a2))? 我已經有了一個返回childerns節點的方法。 例如,如果我打電話給它, (功能樹a6)=(a1 a2 p1) 有什麼想法?
確定我有這樣的樹:通過遍歷一棵樹方案
a6
/ | \
a1 a2 p1
/ \
a1 a2
,我需要一些代碼來遍歷它。 在深度清單represantation它是這樣的權利? (a1 a2(a1 a2))? 我已經有了一個返回childerns節點的方法。 例如,如果我打電話給它, (功能樹a6)=(a1 a2 p1) 有什麼想法?
我對你到底在問什麼有點陰暗,但我會盡量讓你開始。
你提到的應該是這個樣子的樹結構的深名單表示:
'(a6 (a1) (a2) (p1 (a1) (a2)))
大約一年前,我寫了幾篇博客文章,可能對你有用。 Trees in Scheme: Representation和Trees in Scheme: Parsing。
在「解析」文章中,我演示了使用相互遞歸(遞歸技術,其中兩個過程是相互定義的)來有效地解析樹。這應該是有幫助的。
最後,我還建議您閱讀Simply Scheme的第18章,對該主題進行一些深入的介紹。
祝你好運。