首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用lisp中的父、子指针生成弹出树

问如何利用lisp中的父、子指针生成弹出树
EN

Stack Overflow用户
提问于 2014-12-28 16:41:20
回答 1查看 241关注 0票数 2

我将这个节点结构定义为

代码语言:javascript
复制
(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)在所有显示树操作上的性能?

我很感激

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-28 18:07:53

无限递归可能是打印的一部分。您可以通过以下方式来避免这种情况:

  • 不要打印圆形结构
  • 在标准打印机中启用圆检测:(setf *print-circle* t)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27678440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档