プライオリティ キューのボトムアップ バイナリ ヒープ構造を実装しようとしています。ここまでで、すべての値を任意の順序で ArrayList に入れました。次に、最後の内部ノードの element# を見つけて、BubbleDown() 関数を実行し、ヒープ内の各内部ノードを反復処理します。
最後の内部ノードの要素番号を見つけるにはどうすればよいですか? (N = ヒープ内の要素数、LIN# = 最後の内部ノードの要素数) を使用したテーブルの外観は次のとおりです。
N LIN#
2 1
3 1
4 3
5 3
6 3
7 3
8 7
9 7
10 7
11 7
12 7
13 7
14 7
15 7
16 15
etc etc