問題タブ [inorder]
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 ++でツリーをリストに変換しようとしています
ツリーを順番にリストに変換しようとしています。ここに私がこれまでに持っているコードがあります。
コメント付きの list_inorder は、ツリーを順番にリストに変換する再帰的な方法であり、機能します。他の list_inorder メソッド (コメントされていないもの) は、私が取り組んでいるものです。何らかの理由で、他の list_inorder が機能しません。変換されたリストの最初のノードを指すポインタを返そうとしています。そのため、リストを実行して、convert_to_list メソッドで要素を出力できます。
どんな助けでも大歓迎です。ありがとうございました。
c++ - スタックなしの InOrder イテレータを使用したバイナリ ツリー トラバーサル
私の仕事は、C++ で一般的なバイナリ ツリーを作成することです。STL コンテナー (スタックなど) を使用せずに、反復子を使用してトラバースする必要があります。
これまでのすべてのソース コードは次のとおりです: http://www35.zippyshare.com/v/98817061/file.html
再帰トラバーサルを使用すると、ツリーが完全にトラバースされる (すべての値が画面に表示される) ため、Insert 関数は正常に動作するようです。ただし、この反復子は右側のノードに到達していないようです (1 と 2 のみが表示され、残りは表示されません)。理由はありますか?
c - 二分木探索は私に嘘をついていますか?
ねえ、文字列のリストを取得するプログラムを作成しようとしています (これらは順番に並んでいます):
次に、これらの文字列をバイナリ ツリーに格納し、最後に順序通りの走査を行います。しかし、私は理解できない問題を抱えています。ノードを追加する関数は、ノードを既に追加したことを通知し続けますが、実際には追加されませんか?? 私の出力は次のようなものです:
最後に、ソースコードは次のとおりです。
algorithm - 3 つ以上の子を持つツリーの preorder と inorder
二分木の所与の順順および順不同のトラバーサルがツリーを一意に定義することはわかっていますが、一般的な木、つまり 2 つ以上の子を持つツリーでは、プレオーダーおよび順順トラバーサルはツリー構造と 1 対 1 で対応します。
言い換えれば、一般的なツリーのタプル (preorder,inorder) が与えられた場合、それは一般的なツリーに固有のものですか、それとも preorder と inorder トラバーサルの同じタプルを持つ多くのツリーが存在する可能性がありますか?
c - バイナリ ツリーにコンテンツの半分しか表示されない
私のプログラムは、ファイルから文字を読み取り、ファイル内のコンテンツの順序順、順序順、順序順を表示することを想定しています。問題は、ファイルのコンテンツの半分しか表示されないことです。ファイルからの読み取りを停止する場所と理由がわかりませんか?
私の入力ファイルの内容は次のとおりです。
私の出力は次のとおりです。
java - Java ツリーのトラバーサル
リクエストで受け取った条件ツリーに基づいてクエリを生成する API に取り組んでいます。ツリー形式は次のとおりです。
次のように SQL クエリで変換する必要があります。
または、このように
事前注文トラバーサルを使用して、クエリを生成できます。ただし、括弧を追加することはできません。以下は私のinOrderトラバーサルコードです:
ブラケットを挿入する場所を教えてください。前もって感謝します。
****アップデート****
今、同じ構造からmongoクエリを生成したいと思います。文字列を生成することはできますが、括弧を追加することはできません: 次のようなものが必要です:
誰でも助けてもらえますか?