使用节点的键创建一个数组

时间:2016-04-25 15:02:49

标签: java arrays tree binary-tree heapsort

我目前有一个二叉树设置,并希望使用键创建一个数组,以便我可以对它们进行堆排序操作。我该怎么做呢?

以下是我目前的情况:

public static void main(String args[]) throws IOException
{
    BufferedReader in = new BufferedReader(new FileReader("employee.txt"));
    String line;
    Heap employee = new Heap();

    while((line = in.readLine())!= null)
    {
        String[]text = line.split(" ");
        employee.insert(Double.parseDouble(text[0]), Double.parseDouble(text[1]));

    }
    in.close();
}

我使用的二进制树非常标准,但我可以根据需要发布它。 “text [0]”段是每个节点的密钥。

1 个答案:

答案 0 :(得分:0)

一种可能性是将TreeSet类与Comparator结合使用。 TreeSet可以像堆一样运行。该课程有详细记录,但如果您有更多问题,请询问。

修改

看看here。接受的答案显示了二叉树的实现。您现在需要的是该类中的排序函数实现,可以在元素插入时触发,也可以在需要时手动触发。

我仍然没有看到你想如何将树切换成堆,因为它们是不同的东西。我想你的意思是树应该是"读"从左到右说如此重新排列?