首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >线程二叉树

线程二叉树
EN

Stack Overflow用户
提问于 2013-04-02 16:44:08
回答 1查看 950关注 0票数 1

大家好,我应该写ThreadedNode()类,但是我有一些问题。

我了解到,二叉树的线程二叉树是通过在无序遍历中将每个空左子节点设置为节点的前身,而将每个空右子子设置为无序遍历中节点的后继。

但是,我的问题是,当您获得根公共ThreadedNode( BinaryNode根)时,首先是构造函数//线程--二叉树。

我知道它接收到一个binaryNode,我必须使它成为一个线程树,但是我如何创建新的线程树呢?

EN

回答 1

Stack Overflow用户

发布于 2013-04-02 17:11:52

一种常见的创建线程二叉树的方法是假头。这使得单节点树更容易理解,构造函数更直观。

因此,您的构造函数可能看起来如下:

代码语言:javascript
复制
public class ThreadedNode {

    private BinaryNode head;

    public ThreadedNode(BinaryNode root) {

        head = new BinaryNode();
        root.makeThreaded();
        root.setRight(head);
        head.setRight(root);

    }
}

请记住,稍后您需要说明这个假头插入,删除等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15769641

复制
相关文章

相似问题

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