0

質問は基本的にそれをすべて言っていますが、これは私がこれまでに持っているものです

void inorder(Node *root)
{
    int come_back_later=0;

    if(come_back_later)
    {
       //part where i print out only the unique words from the tree
    }

    if(root==NULL)
        return;

    inorder(root->left);
    cout<<root->word<<": it's word count is: "<< root->count<<endl;
    inorder(root->right);

}

アイデアは、最初に順不同のトラバーサルを実行し、代わりにすべての単語をそのカウントとともに出力するというものです。しかし、後でそのトラバーサルを再訪して、一意の単語のみを出力したいのですが、そのためのアルゴリズムコードを作成する方法がわかりません。単語数が 1 の場合、その単語はファイル内で 1 回しか出現しないため、一意である必要があります。誰かが私を助けることができれば、それは素晴らしいことです。

4

1 に答える 1

0

ツリー内の残りのすべてのノードと比較する必要があります。新しい配列を作成し、カウントとともに出くわした単語を保存するだけです。そこでカウントをチェックする代わりに、次のトラバーサルで、配列をチェックインして、カウントが 1 であるかどうかを出力します。

于 2015-05-01T05:16:58.777 に答える