問題タブ [tree-balancing]
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.
c - 二分木バランスの取り方
これはcの単純な二分木ですが、バランスが取れていないようです。どうすればバランスが取れますか?
コード:
java - 100*7-8*3+7 のような式の可能な解をすべて見つけるにはどうすればよいですか? (10 匹中 8 匹の猫がカウントダウン ソルバーを実行)
楽しいので、10 匹中 8 匹の猫がカウントダウン数パズルを解くことができる簡単なプログラムを作成することにしました。リンクはカウントダウン形式ですが、ルールは同じです。したがって、私のプログラムは、AxBxCxDxExF のすべての可能な組み合わせを単純に処理します。ここで、文字は数字で、「x」は +、-、/、および * です。これがそのコードです:
そして、これが私が望んでいない組み合わせであるかどうかをテストするために使用するものです。
前回のエピソードで、コードに問題があることがわかりました。これは、パズルの 1 つの解決策でした。
この組み合わせ「10 * 7-8 * 3 + 7」(2回)を見つけたことに気付きましたが、左から右に操作を行って解決策を確認しているため、実際にはすべての答えが見つかりません。このようなソリューションのみをチェックします ((((10*7)-8)*3)+7)。そのため、組み合わせが見つかりましたが、正しい順序がありません。
問題は、(10*7)-(8*(3+7))、(10*7)-((8*3)+7)、または 10*( 7-8)*(3+7)? ただし、バランシング ノードとしての操作でバランス ツリーを使用できます。しかし、式を移動せずにすべての可能な組み合わせを通過する方法がわかりません。
コードでこれを行うにはどうすればよいですか? 解決されたコードを探すのではなく、それを修正するためにパースペクティブを変更する必要があります。なぜ私はそれに困惑しているのか分かりません。
私について: コンピューター サイエンス 4 年目、プログラミングの新人でも初心者でもない (少なくとも信じたい ;))
java - Java BinaryTree:挿入メソッドでツリーのバランスをとる方法は?
二分探索木のバランスを取ろうとしていますが、うまくいかない理由はわかっていますが、修正方法がわかりません。インサート方式でダイレクトにバランスをとります。バランス調整が必要な場所にスラッシュを付けました。このようにコードが機能せず、次の例外が発生します。
バランスをとらずに挿入すると、何も問題ありません。
c++ - BST の再帰的なバランス調整
私はBSTのクラスを持っています。Rotate
BST のルートを引数として取り、バランスの取れた BST を返す再帰関数が必要です。
1つのノードだけバランスをとるコードが添付されていますが、ルートノードに対しては機能していません。
再帰的にしたいので、単一のノードではなくツリー全体のバランスを取ります。
data-structures - 次のシーケンスからボトムアップ スプレー ツリーを作成する方法
これはシーケンス 20,10,5,30,40,57,3,2,4,35,25,18,22,27 です。新しく挿入されたすべてのノードをルートとして試してみましたが、うまくいきません。誰かが私に段階的な説明を教えてもらえますか?