これは宿題ではありません私はデータ構造体クラスを取っており、最近は木々を完成させました。授業の最後に、私の教授がこのイメージを示しました。 ツリー内に連続した要素を挿入するのは、ランダムな要素をツリーに挿入するより時間がかかります。
コンクリートブロックツリーは、セルフバランスのない2分木です。私はこれらの手順を完了するのにかかった時間についていくつか質問があります。
なぜそれがそこにランダムな要素を挿入するのにかかるよりも、ConcreteBTreeに10万シーケンシャル要素を挿入するためにそんなに多くの時間がかかるのでしょうか?私の直感は、要素が連続しているので、1,000,000個のランダム要素を挿入するのに要する時間よりも短い時間がかかるはずです。
ランダム要素を持つConcreteBTreeのinsert()とfind()の時間が近すぎるのはなぜですか?どちらも同じ時間の複雑さを持っているからですか?私は挿入がO(1)であったと私は本当にここで何が起こっているかを理解したいと思いますO(n)の
だっ見つけると思った、任意の説明をいただければ幸いです。ありがとう
逐次項目を非均衡ツリーに挿入することは、最悪のことです。左側のノードだけを使用するか、右側のノードのみを使用することになるので、リンクされたリストを作成することになります。 – dlev