二分探索木を読んでいて、なぜBSTが必要なのかと考えていました。私の知る限り、すべてのことは、単純なソートされた配列を使用して実現することもできます。たとえば-n個の要素を持つBSTを構築するには、n*O(log n)
時間が必要です。つまりO(nlog n)
、ルックアップ時間はO(log n)
です。しかし、これは配列を使用して実現することもできます。ソートされた配列(O(nlog n)
時間が必要)を持つことができ、その中でのルックアップ時間も、O(log n)
つまり二分探索アルゴリズムです。では、なぜ別のデータ構造が必要なのですか?それらを特別なものにするBSTの他の使用/アプリケーションはありますか?
-ラヴィ