1

我在实现一个给定 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

4

0 回答 0