Java:如何创建给定二进制代码的二叉树

时间:2015-01-14 18:21:26

标签: java tree

假设我有2个叶子{1,2}并且我得到了他们的二进制代码(相同长度),这意味着我应该根据二进制代码构造二叉树。在构造二叉树之后,如果我遍历树,我应该为第1和第2行检索相同的二进制代码。

数据格式如下:

leave : binary code
    1: 0 1 1 0 0 1 1 0 0 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1
    2: 0 1 0 0 0 1 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 0 1

例如,当二进制代码为0 1 1 0时,我从树的根开始,当我看到0时向左走,当我看到1时向右走...

问题:如何根据给定的二进制代码构造二叉树? (请注意,我实际上处理了200000个叶子,因此处理了200000行二进制代码。所以我需要一种有效的方法来执行此操作。)

1 个答案:

答案 0 :(得分:0)

您可能需要查看此内容

http://www.cs.princeton.edu/courses/archive/spring01/cs126/assignments/prefix.html

这应该可以让您深入了解创建所需树

需要做些什么