非記述的な質問に対する謝罪。あなたが良いものを考えることができれば、私はすべて耳です。このアルゴリズムの名前はありますか?
私はアルゴリズムを実装するためにいくつかのPerlを書いていますが、コードには怪しいものがあります。私はCSのバックグラウンドを持っていないので、私はバックポケットの標準的なアルゴリズムについて多くの知識を持っていませんが、これはそうであるかもしれません。
私はメタファーの方法によって、私がやっていることを記述してみましょう:
- あなたがオレンジのコンベアベルトを持っています。オレンジはあなたを一つずつ通す。あなたはまた、フラットパックボックスの無制限の供給を持っています。
- オレンジ色ごとにチェックしてください。腐っている場合は処分してください
- 良い場合は箱に入れてください。あなたが箱を持っていない場合は、新しい箱をつかんでそれを作ってください。
- 箱に10個のオレンジが入っている場合は、それを閉じてパレットに置きます。 新しいものを作成しないでください。あなたはもうオレンジを持っていないまであなたはそれでいくつかのオレンジと構築ボックスを持っている場合は
- 繰り返し
- 、それをクローズアップし、パレットだから、
の上に置く、我々は内の項目を処理するためのアルゴリズムを持っていますリストには、いくつかの基準を満たしていれば、他の基準を満たしていれば「閉鎖」しなければならない構造に追加する必要があります。また、リストが処理された後、 'オープン'構造があれば、それも '閉鎖'する必要があります。
Naiveでは、アルゴリズムは、リスト要素が構造体に属しているかどうかを調べるための条件付きで、構造体が '閉じられている'必要があるかどうかを確認するための条件付きリストからなるループで構成されていると仮定します。 ループの外側には、未処理の構造を閉じる条件が1つ以上あります。
だから、ここに私の質問は以下のとおりです。
- これはよく知られているアルゴリズムの説明ですか?もしそうなら、それは名前を持っていますか?
- 「ボックスを閉じる」アクティビティを、ループの内側とループの外側の1つではなく、1つの場所にまとめる効果的な方法はありますか?
私はPerlishのアプローチが興味深いのでこれを「Perl」とタグ付けしましたが、私はこれに対するすっきりした解決策を持っている他の言語について聞くことに興味があります。
+1あなたが求めているものの非常に非常に明確な説明です。 – DGH
これ以降、これは「ダンブルン・プロシージャ」と呼ばれます。私はWikiページで作業するつもりです。 – mob
1.いいえ2. close_box()という関数を作り、2つの場所で呼び出します。これは何のための関数なのですか?これについて何も倫理的な疑いはありません: –