我是计划的新手,我需要帮助。如何在树中找到元素的父元素?
;; returns left subtree of node
(define (left node)
(if (null? node) '()
(cadr node)))
;; returns right subtree of node
(define (right node)
(if (null? node) '()
(caddr node)))
我认为应该是这样的:
(define (parent element tree)
(cond
((null? tree) )
(car tree)
((< val (car tree)) (parent val (left tree))) ;
((> val (car tree)) (parent val (right tree)));
)
)
答案 0 :(得分:0)
向父
添加额外参数(define (parent element parent-of-tree tree)
...)
根元素没有父元素,因此请像这样调用parent
:
(parent element #f tree)
当您深入树中时,请传递父树中的父级。 例如,(&lt; val(车辆树))变为:
((< val (car tree)) (parent val tree (left tree)))