首页 文章
  • 2 votes
     answers
     views

    找到两个叶节点的最佳共同祖先,其中节点具有零个,一个或两个父节点

    Goal : 我正在寻找一种算法来找到图的最佳共同祖先,其中图中的节点可以有零个,一个或两个父节点 . 我不确定“最佳共同祖先”的术语:更好的术语可能是“最低共同祖先”,或“最近的共同祖先”等 . 如果有更好的术语,那么请提供描述这种术语的URL . 该算法可以访问完整的图形数据结构 . 给定节点可能具有零个,一个或两个父节点 . 这是关键,因为我在网上看到的算法假定给定节点有零个或一个父节点,而...
  • 0 votes
     answers
     views

    SWI-Prolog中的祖先谓词

    例1: 谓语: belongs(X,[X|_]). belongs(X,[_|Ytail]):-belongs(X,Ytail). 校验: belongs(a,[x,c,a,b]). 递归: 第一步: belongs(a,[c,a,b]). 第二步 belongs(a,[a,b]). 返回true,这里SWI-Prolog结束 它削减了头部 . 在第1步中切割x,然后切割c,当a位于此列表中...
  • 1 votes
     answers
     views

    二叉树中两个节点的第一个共同祖先

    我试图从破解代码访谈的书中解决问题4.7(非常酷的书!) . 设计算法并编写代码以查找二叉树中两个节点的第一个共同祖先 . 避免在数据结构中存储其他节点 . 注意:这不一定是二叉搜索树 . 我想出了这个解决方案,它与本书中提供的解决方案并不相同 . 我想知道是否有人能找到任何瑕疵? 解决方案:我创建了一个包装类来保存第一个共同的祖先(如果找到它)和2个布尔值来跟踪在搜索树时是否找到a或b . ...

热门问题