0
ノードをバイナリヒープに挿入すると仮定して、挿入およびヒープ化後のヒープを表す配列のノードのインデックスを見つけるにはどうすればよいですか? は、私は(Oでこのアルゴリズムを見つける必要があるログ(ログ(N))。 ノードの位置を配列で検索する(バイナリヒープとして)
はあなたのすべてをありがとう。あなたは、バイナリヒープに挿入見ればノードをバイナリヒープに挿入すると仮定して、挿入およびヒープ化後のヒープを表す配列のノードのインデックスを見つけるにはどうすればよいですか? は、私は(Oでこのアルゴリズムを見つける必要があるログ(ログ(N))。 ノードの位置を配列で検索する(バイナリヒープとして)
はあなたのすべてをありがとう。あなたは、バイナリヒープに挿入見れば、新しいノードが最後に置かれ、
したがって、ヒープのサイズを知っているので、新しいノードがどのブランチに挿入されるかを知っています。ブランチサイズはlog(n)です。この位置から
このブランチに沿ったバイナリ検索だけで済むので、このブランチに属するすべてのノードを見つけることができます。 log(log(n))内の新しいノードのエース。
よろしくお願いいたします。まずは、ありがとうございます。もう一つの質問があります。どのインデックスが一般的であるかを知る方法はありますか? – ChikChak
いいえ、現在のヒープと挿入する値に依存しますが、位置を特定する方法はありません。 –
もう一度、ありがとう! – ChikChak