Java 以固定成本将kd树中的数据以预订单的形式保存在一堆中
我在实现一个方法时遇到了一个小问题,该方法给出了一个kdtree,将所有按预订单排序的项目存储在堆栈中 我迭代地实现了这个方法,我有以下代码:Java 以固定成本将kd树中的数据以预订单的形式保存在一堆中,java,kdtree,Java,Kdtree,我在实现一个方法时遇到了一个小问题,该方法给出了一个kdtree,将所有按预订单排序的项目存储在堆栈中 我迭代地实现了这个方法,我有以下代码: public void preorder (Node <Pair <K,V>> node) throws SiguienteException { Stack <Pair <K,V>> stack = new Stack <Pair <K,V>> (); stac
public void preorder (Node <Pair <K,V>> node) throws SiguienteException {
Stack <Pair <K,V>> stack = new Stack <Pair <K,V>> ();
stack.stack (node.data ());
while (! stack.isEmpty ()) {
Pair <K,V> stack.getTop pair = ();
stack.unstack ();
if (pair! = null) {
System.out.printf ("% s \ n", pair.getKey ());
pila.apilar (node.getRigth (). data ());
pila.apilar (node.getLeft (). data ());
node.setDato (pair);
}
}
}
public void预订单(节点)引发SiguienteException{
堆栈=新堆栈();
stack.stack(node.data());
而(!stack.isEmpty()){
Pair stack.getTop Pair=();
stack.unstack();
如果(对!=null){
System.out.printf(“%s\n”,pair.getKey());
pila.apilar(node.getRigth().data());
pila.apilar(node.getLeft().data());
node.setDato(对);
}
}
}
问题是,这种方法通过树的元素,不再具有常数阶、线性阶,而是在最坏的情况下
你能想出任何方法以恒定的顺序将项目保存在堆栈中吗
对不起,如果我没有解释清楚,我是西班牙人,我正在使用谷歌翻译xD