問題タブ [recursive-datastructures]

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 に答える
231 参照

haskell - 関数に同じ型の関数を返すエレガントな方法はありますか (タプルで)

Haskell を使用して、値を返す関数とそれ自体 (または同じ型の関数) を含むパターンを実装しています。今、私はこれを次のように実装しました:

これらのタイプの関数の原動力は、カスケードと呼ばれる関数です。

シード関数とリストを取り、シード関数をリストの最初の要素に適用し、それによって返された関数をリストの 2 番目の要素に適用することによって作成されたリストを返します。

これは機能しますが、これをもう少し便利なことに使用する過程で、自分以外の関数を返す関数が基本単位であることが多くあることに気付きました。そして、自分自身を返す関数を明示的に宣言することは、やや退屈になりつつありました。returnモナドの関数のようなものを使用できるようにしたいのbindですが、これらのタイプの関数がどうなるかわかりません。特に、最初に返す関数以外のものとリンクするつもりはなかったので、 .

これを Monad に押し込もうとすると、自分がやっていることが役に立つかどうか心配になり始めたので、要するに、私が知りたいのは:

  • 私がしていることは悪いことですか?そうでない場合は、
  • 私がやっていることは以前に行われたことがありますか/ここで車輪を再発明していますか? そうでない場合は、
  • これを行うためのエレガントな方法はありますか、それとも私はすでにこれに到達しており、ある種のreturnアナログが欲しくて貪欲になっていますか?

(ちなみに、「自分自身を返す関数」または「(関数の) 再帰的なデータ構造」のほかに、この種のパターンが何と呼ばれているのかよくわからず、効果的な研究を行うことを困難にしています。誰でもこのパターンに名前を付けることができます (実際に名前がある場合)。それだけで非常に役立ちます)

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

php - このコードは関数の複数のインスタンスを作成しますか?

親子カテゴリリストの作成方法を学んでいます。すばらしいチュートリアルを見つけて、次のコードを実装しました。

私が理解するのに苦労しているのは、foreach関数と再帰関数がPHPによってどのように処理されるかです。

これにより、複数の「インスタンス」が発生するようです。関数とforeachループを同時に実行する方法...それは正しいですか?

これが起こっているのであれば、私のリストが大きくなり、子の関係が深くなるにつれて、これは遅くなる可能性があります。これは本当ですか?

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

c++ - 可変個引数テンプレートで再帰的なデータ構造を生成するにはどうすればよいですか?

この質問で、TMP を使用した再帰的なデータ構造生成の手法を把握しようとしています。

質問

variadic template があるとしますtemplate<typename... Ts> struct my_sets { };

で、my_setsデータ メンバが に依存する新しい型を生成したいと考えていTsます。

たとえば、あるすべての要素/型に対してmy_sets1 つのデータ メンバーが必要です。std::set<T>Ts...

これを達成する 1 つの方法は、サブクラス化と再帰を使用することだと思いますが、よくわかりません。

fwiw、無料の関数または単純な関数のオーバーロードを介してミューテーターを実装する方が簡単な場合は、それも問題ありません。

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

recursive-datastructures - 再帰関係で EF 6 Alpha 3 の移行にバグの可能性はありますか?

複合キーで再帰関係を定義する必要がありました。多くの試行錯誤の後、私はこれに行き着きました:

このテーブルの

Add-Migration を試みている間、「シーケンスには要素が含まれていません」という同じエラーが常に発生していました。この定義が正しいと「ほぼ」確信していたので、移行せずに新しいデータベースを再作成しました。完全に問題ありませんでした。Db にはまったく問題はありませんでした。したがって、そこには EF 6 が気に入らない「何か」があります。「呼び出しのターゲットによって例外がスローされました」というスキーマを取得しようとすると、EFパワーツールが爆撃するため、確認がありました。

そこから再起動すればマイグレーションがどうなるか見ていきますが、このDbではもう使えないのではないかと心配です。私はこのツールがとても好きなので、これが修正されることを願っています.

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

php - php イテレータ - 2 番目から最後までの要素をすべて保存する方法

私は途方に暮れています。私はグーグルで検索し、ここで検索し、PHPマニュアルを何時間も読みましたが、解決策が思いつきません.

次の配列構造を取得しました。

今、私の問題は次のとおりです。すべての object_name_x 配列を保存したいです。配列の深さは不明です。実際には、さまざまな object_name_n オブジェクトの深さが同じ配列に依存している可能性があります。しかし、それらは常に最後の葉です。

どうすればこの問題を解決できますか。私が知る限り、RecursiveIteratorIterator が最後から 2 番目のオブジェクトのみを考慮する方法はありません。

私の出力は次のようになります。

お時間をいただきありがとうございます。

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

java - このメソッドが無限再帰呼び出しを引き起こすのはなぜですか?

このクラスが機能していない理由を理解するのに苦労しています。これは、データ構造に関するコースの割り当ての一部でした (編集: 割り当ての締め切りが過ぎました。それを理解したいだけです...)。このノードは BST に基づいて構築された AVL ツリーの一部であり、私がそれを実装するために選択した方法は、Node クラス内にメソッドを作成して Balance 係数と高さを見つけることです。

クラスは次のように構成されています。

}

メソッドを呼び出す関数は次のとおりです。

私が受け取る例外は、次の繰り返しです。

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

ruby - ツリーシェーカー操作を実装するにはどうすればよいですか?

と呼ぶ操作が必要shake_treeです。基本的なRuby-Fortranのみを使用して再帰アルゴリズムを使用して実装しましたが(「 Fortranコードを任意の言語で記述できます」という古い引用を参照)、はるかに簡潔で慣用的なRuby方法があると思います。

この操作の通称がわからないので、簡単に説明します。次の例のようなハッシュのハッシュがあります。

のようなユニークなシンボルがあり、ツリーの構造内に埋め込まれています:vector_ie1:set_ie3ルートからシンボルを残すまでのパス以外のツリーのすべてのブランチを削除する必要があります。上記の例を考えると:

戻ります:

戻ります:

より経験豊富なRubyコーダーは、このタスクにどのようにアプローチしますか?

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

c - Cで再帰的なデータ構造の変数を定義する

sortbyName再帰的なデータ構造を返す関数がありますsortedListsortListそれ自体が別の再帰的データ構造へのポインタを含み、stud_typeそれらはすべて以下のように定義されています。

main()ここで、関数からの戻り値を保持する変数を関数に割り当ててsortbyName、while ループで繰り返し処理し、結果を出力できるようにします。次に、この変数をどのように定義しますか? 私は試しsortList curTEST;てみsortList * curTEST;ましたが、役に立ちませんでした。sortbyNameまたは、関数の定義に何か問題がありますか?

編集: 私はそれをコンパイルして、ほとんどの些細なエラー/警告を修正しましたが、この現在のエラーレポートに到達するまで、あまり意味がありません。

私のmain関数では、次curTESTのように定義しました。sortList * curTEST;