事前注文で注文されたすべてのアイテムをスタックに格納する 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);
}
}
}
問題は、この方法がツリーの要素を通過することであり、最悪の場合、一定の順序、線形の順序がなくなります。
アイテムを一定の順序でスタックに保存する方法を考えられますか?
うまく説明できていない場合は申し訳ありません。私はスペイン人で、Google の翻訳者 xD を使用しています。