問題タブ [binary-search-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
4883 参照

java - Java Generic Binary Search ツリー型の問題

私はこの宿題に取り組んでいて、ちょっと混乱しています...

次の BinarySearchTree クラスが提供されます

================================================== ==============================

今、私は別のクラス Student を持っています.... Student オブジェクトの二分探索木を作成したい..

ただし、それを行うと、次のエラーが発生します。

境界の不一致: タイプ Student は、タイプ BinarySearchTree の境界パラメーター > の有効な代替ではありません

ここで何が起こっているのか、どんなアイデアでも... わかりません。

0 投票する
6 に答える
26098 参照

c++ - 2 つの BST を効率的にマージするには?

BST のプロパティを維持する 2 つのバイナリ検索ツリーをマージする方法は?

ツリーから各要素を取得して他の要素に挿入することにした場合、このメソッドの複雑さは次のようO(n1 * log(n2))になりn1ます。もう一方のツリー (たとえば)。この操作の後、1 つの BST だけがノードを持ちます。T1n2T2n1 + n2

私の質問は、O(n1 * log(n2)) よりもうまくできるでしょうか?

0 投票する
4 に答える
2192 参照

binary-tree - 二分探索木の葉に効率的に到達するにはどうすればよいですか?

BST の葉のすべての値を合計したい。どうやら、ツリー全体を横断しないと葉に到達できないようです。これは本当ですか?O(N) 時間をかけずに葉にたどり着くことができますか?

0 投票する
2 に答える
1321 参照

binary-tree - BST の最も深いパスを配列に入れる (再帰的)

再帰アルゴリズムを使用してBSTの最も深いパスを配列に入れようとしていますが、いくつかの問題が発生しています...取得できる唯一のものは最長パスのサイズ(高さに相当)であり、できないためですBSTの高さに関する値を配列に入れます...

何か助けはありますか?

申し訳ありませんが、問題を完全に公開しませんでした。このアルゴリズムを実行するために私が知っている唯一のことは、次の署名です。

(補助メソッドを使用できます)

0 投票する
1 に答える
1049 参照

algorithm - 二分木の右スレッド

私はこれを理解しようとすると大変な時間を過ごしています。どこを見ても、リストを非再帰的にトラバースする方法(実際に理解している部分)についての説明に出くわしているだけのようです。誰かが最初にリストを調べて実際の先行/後続ノードを見つけてノードクラスでそれらにフラグを立てることができる方法を正確に理解できますか?単純なバイナリ検索ツリーを作成し、リストを調べて、ヌルリンクを先行/後続に再ルーティングできるようにする必要があります。私は次のような解決策で運が良かった:

0 投票する
2 に答える
3434 参照

ruby-on-rails - Rails BST タイムゾーンの実装

Railsのconfig/environment.rbファイルでconfig.time_zoneにBSTを使用する方法を知っている人はいますか?

現時点では UTC のままにしており、サポートされているタイムゾーンのリストに BST を追加し、これを尊重するように Time クラスを拡張することを考えています (> X 月の最後の日曜日 + 1 時間)

サポートされているタイムゾーンのリストはどこにありますか?

周りを検索すると、多くの苦情が見つかりましたが、多くの回答は見つかりませんでした. これはできるだけ早くguthubにアップします。

乾杯、ダグル

0 投票する
3 に答える
4424 参照

java - bst で重複を処理する

私の bst は、重複したエントリに対処できなければなりません。過剰な量のコードを必要としない、これを行うための戦略を誰かが持っていますか? 一貫して右側に重複を追加することを考えましたが、それでは bst の順序が台無しになります。たとえば、複製に 2 人の子がいて、その子が 2 人の子を持つ場合はどうなりますか? 複製を挿入するのは簡単ですが、置き換えられたノードで何をすればよいのでしょうか?

0 投票する
6 に答える
1858 参照

java - Java二分探索木

ノード(ルート)から子を削除するにはどうすればよいですか?removeを呼び出すことができないので、子をnullにすると、その子の子は上に移動しますか?たとえば、nullとして初期化するだけですか?それとも、子供の子供を指さしますか?

0 投票する
2 に答える
2431 参照

binary-tree - バランスの取れた探索木の​​深さの証明

Tがn個の要素を持つ平衡BSTであり、Lが左側のサブツリー、Rが右側のサブツリーである場合、その深さが2log(n)+1以下であることをどのように証明できますか?

私が持っている帰納法による証拠がありますが、私はそれを取得していません。

(stackoverflowは主にプログラミング指向であることを理解していますが、バイナリ検索ツリーに関するいくつかの質問を見つけて試してみることにしました。うまくいかないことを願っています。:))

0 投票する
4 に答える
11167 参照

algorithm - 同じ二分探索木を生成する整数の与えられたシーケンスの順列の数を見つけます

整数の配列を指定しますarr = [5, 6, 1]。この入力を同じ順序で使用して BST を構築すると、「5」がルート、「6」が右の子、「1」が左の子になります。

入力を [5,1,6] に変更しても、BST 構造は同じままです。

整数の配列が与えられた場合、元の配列順序で形成された BST と同じ BST になる入力配列の異なる順列の数を見つける方法は?