我得到了一個練習來找到Scheme中二叉樹的路徑。 基本上,它就像在Scheme中查找從根到樹葉的所有路徑。 但不是打印節點的值,我們必須打印到葉子的方式。 (打印:右前左左右)二叉樹中的方案路徑
-5
A
回答
0
如果您正在討論尋找從根到特定葉的路徑,您可以基本上以遞歸方式搜索您的樹,並且在做這些時應該將一個列表作爲參數傳遞給您的搜索函數跟蹤已經採用的路徑,並且您的搜索功能應返回路徑列表。
例如,假設您在樹中搜索L,您需要檢查L是在左側還是右側的子樹中。發現其中L位於您可以將方向基本上添加到您的路徑列表的子樹後,你可以這樣做
(define (search L tree)
(cond
((null? tree) '() )
((member L leftsubtree) (cons 'left (search L leftsubtree))
((member L rightsubtree) (cons 'right (search L rightsubtree)))))
我們做什麼。這是我們發現的子樹L位於然後添加方向(左邊或右邊)到從該子樹的父節點到L的路徑的前面。當然,如果複製並粘貼此代碼,則不起作用。所以你需要根據你的樹形表示實現這個函數,你可能需要爲你的情況實現成員函數。我希望它有幫助。
0
(define (ab-chemin-aux AB e CH)
(if (ab-noeud? AB)
(if (equal? e (ab-etiquette AB))
CH
(or (ab-chemin-aux (ab-gauche AB) e (append CH (list "gauche")))
(ab-chemin-aux (ab-droit AB) e (append CH (list "droit")))))#f))
(define (ab-chemin AB e)
(ab-chemin-aux AB e (list)))
我想出了答案,但我忘了在這裏問。謝謝您的回答。希望這可以幫助某人
相關問題
- 1. 二叉搜索樹路徑
- 2. 方案二叉搜索樹
- 3. 二叉樹中節點的路徑
- 4. 打印所有路徑的二叉樹
- 5. 方案計算二叉樹的根
- 6. 二叉樹路徑總和(python)
- 7. 二叉樹的直徑
- 8. 電路的二叉樹
- 9. 二叉樹方法
- 10. 二叉樹方法
- 11. 方法二叉樹
- 12. 遞歸獲取二叉樹中的節點路徑
- 13. 查找二叉樹中最重的路徑有效 - python
- 14. 如何找到二叉樹中最長的連續路徑
- 15. 查找二叉樹中所有等於總和的路徑
- 16. 遞歸找到二叉樹中節點的路徑
- 17. 如何繼續評估方案中的二叉樹
- 18. 二叉樹中的方案/球拍操作(+, - ,*,/)
- 19. 如何在R中循環二叉樹路徑?
- 20. 在二叉樹中查找最大總和葉根路徑
- 21. 二叉樹中最大的二叉樹搜索樹
- 22. 找到來自xgboost.dump的二叉樹的所有路徑
- 23. 二叉樹 - 哪一種二叉樹
- 24. 二叉樹到二叉搜索樹(BST)
- 25. 建立檔案路徑樹
- 26. 二叉樹路徑 - 我的代碼有什麼問題
- 27. 記錄在二叉樹數據的所有路徑
- 28. 二叉樹 - 打印葉到葉的路徑[C]
- 29. Java二叉搜索樹 - 計算到節點的路徑長度
- 30. 二叉搜索樹 - 得到最重的路徑算法C++
請參閱下面的答案,以獲取有關如何改進此問題的指導 – Peaches491
Hama,您是否有任何代碼表明您已在解決此問題上做出了任何努力? –
提示:添加一個包含「到目前爲止的路徑」的函數參數。 – molbdnilo