我有一个问题,就是实现一个给出kdtree的方法,将预先订购的所有项目存储在堆栈中。
我迭代地实现了这个方法,我有这个代码:
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);
}
}
}
问题是这个方法通过树的元素,并且不再具有常数顺序,线性顺序,但在最坏的情况下。
您能想出以任何顺序保存堆栈中的项目的方法吗?
很抱歉,如果我没有解释清楚,我是西班牙语,我正在使用谷歌翻译xD