私のAVLツリーは、整数の2次元配列を使用してJavaで実装されていますavlTree[35][5]
-列は次のことを表しています。
- [0]-左の高さ
- [1]-左の子
- [2]-データ
- [3]-右の子
- [4]-右の高さ。
メインプログラムから次のメソッドを呼び出しています。その結果、3つのノードが取得されます。左端のノードの後に親が2回続きます。
public void inorderTraversal(int root) {
if ((Main.avlTree[root][1] == 0) && (Main.avlTree[root][3] == 0)) {
System.out.println(Main.avlTree[root][2]);
} else {
if (Main.avlTree[root][1] != 0) {
root = Main.avlTree[root][1];
inorderTraversal(root);
}
System.out.println(Main.avlTree[root][2]);
if (Main.avlTree[root][3] != 0) {
root = Main.avlTree[root][3];
inorderTraversal(root);
}
}
}