我将这个节点结构定义为
(defstruct node
parent
left
right
data)当我填写父节点时,是否有任何方法可以避免在计算父节点时出现无限递归?
例如:假设我有一个节点(A :parent B :left 2 :right 3 :data nil)和一个节点(B :parent nil :left 4 :right A :data nil)。当计算A的父值时,得到一个无限递归(A的父是B -> B,右是A的->父,A是B,-> .)。有没有一种方法可以避免这种情况,同时保持mlg(n)在所有显示树操作上的性能?
我很感激
发布于 2014-12-28 18:07:53
无限递归可能是打印的一部分。您可以通过以下方式来避免这种情况:
(setf *print-circle* t)https://stackoverflow.com/questions/27678440
复制相似问题