【发布时间】:2009-07-29 18:11:40
【问题描述】:
我正忙着想办法解决这个问题。无论我在哪里看,我似乎都只是在解释如何以非递归方式实际遍历列表(我真正理解的部分)。那里的任何人都可以敲定我最初如何准确地浏览列表并找到实际的前任/后继节点,以便我可以在节点类中标记它们吗?我需要能够创建一个简单的二叉搜索树并浏览列表并将空链接重新路由到前任/继任者。我有一些类似以下的解决方案的运气:
thread(node n, node p) {
if (n.left !=null)
thread (n.left, n);
if (n.right !=null) {
thread (n.right, p);
}
n.right = p;
}
【问题讨论】:
-
找到前任/后继节点?这和父母和孩子一样吗?你为什么要创造一棵有洞的树?
-
为了澄清没有完全理解您的问题的其他人,我猜您正在尝试将二叉树的每个节点链接到其有序的前任和后继(如此处所述:@ 987654321@),对吧?
标签: algorithm binary-tree binary-search-tree