gpt4 book ai didi

java - 将二叉树转换为排序数组

转载 作者:行者123 更新时间:2023-12-02 08:19:20 26 4
gpt4 key购买 nike

继我之前的 question ,我现在想将二叉树值放入排序数组中。

所以,首先我使用了 numOfNodeswn 函数来计算树中节点的总和,

我根据这个函数的结果创建了一个数组,我开始思考,而不是找到树的最小值并制作不那么容易的后继函数,我可以简单地利用这种树的实用性并进行一种排序过程,在此过程中我可以将正确的值放入我的数组中。

我的主要问题是控制变量i - 这是根据它的索引,我会确切地知道在哪里放置正确的值。

(header是树的头部)

这是我到目前为止所写的:

public double[] toDoubleArray() {
double[] arr = new double[numOfNodeswn(header)];
int i=0;
return putvalues(arr, i, header);
}



private double[] putvalues(double[] arr, int i, RBNode t) {

if (t!=null){
putvalues (arr, i, t.left);
arr[i]=t.value;
i++;
putvalues (arr, i, t.right);
}
return arr;

}

最佳答案

我认为您需要对二叉树进行深度优先迭代。将每个条目加载到树中并逐渐增加索引。结果应该是一个排序数组。

关于java - 将二叉树转换为排序数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5764516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com