1

バイナリ基数ツリー (最長共通プレフィックス ツリー) を作成しています。データはリーフ ノードにのみ格納されます。ツリー階層には内部ノードがあり、各内部ノードには 2 つの子ノードがあります。子ノードは、リーフ ノードまたは内部ノードのいずれかです。リーフ ノードと内部ノードの両方が、親ノードへの参照を格納します。

リーフ ノードは配列に格納されます。内部ノードは別の配列に格納されます。ルート ノードは内部ノード配列の最初の要素です

Node
{ 
    Node* parent;
}

LNode: Node
{
  data;
}

INode: Node
{
    Node* leftchild;
    Node* rightchild;
}

ツリー構造が内部ノードの配列として満たされていると仮定すると、ツリーの内部ノードを選択すると、内部ノードの子ノードが内部ノードであるか葉ノードであるかをどのように知ることができますか? これを行うには、子ノードごとに 1 つのブール変数を格納して、リード ノードまたは内部ノードとしてマークすることを考えています。しかし、これは私には良い解決策ではないようです。

誰かがこれを行うためのより良い方法を提案できますか?

4

0 に答える 0