私はCormenらが紹介したアルゴリズムの一部を読み、いくつかのアルゴリズムを実装しました。さまざまなアルゴリズムのサンプル入力
私の実装をテストするために、ファイルioを実行するいくつかのグルーコードを書いた後、手作業でいくつかのサンプル入力を行い、サンプル入力を生成するプログラムを作成してサンプル入力を行いました。
しかし、自分のサンプル入力の質については疑問があります。私はもっと興味深い可能性を見逃しているかもしれません。私は適切な出力を誤って計算したかもしれません。
私は自分のコードをテストできるように、インターネット上のどこかで収集されたさまざまなアルゴリズムのテスト入力と出力のセットがありますか?私は、特定のアルゴリズムに合理的に固有のテストデータを探しています。問題解決のためのコンポーネントを含むことが多いコンテストの問題ではありません。
入力が収集される形式(入力のさまざまな制約、グラフアルゴリズム、グラフの表示など)に応じてコードを調整する必要があることを理解していますが、私がしなければならない変化は、かなり些細なことであろう。
編集:クイックソートがひどく行われるように数字
- スキューの
- リスト:
私は現在探していますいくつかの特定のデータセットがあります。
- フィボナッチヒープが傾いているため、特定の操作で特にうまく機能しません。
- リスト:
- グラフ(高性能マーク興味深い参照の数を提供したため)
- スパースグラフ(エッジの数に特定の境界を持つ)、
- 高密度グラフ、
私はまだ本を読んでいるので、あなたと同じような状況にいる場合、またはリストを改善できると感じている場合は、リストを編集してください。すぐに、私は来るかもしれません。データが必要ですあなたが探しているものに似ています。私は、編集権限がどのように機能するかについては完全にはわかっていませんが、私はそれ以上のことがあれば、私はそれを承認しようとします。
あなたはどの言語を使用していますか?一部の言語にはテストデータを自動的に生成するライブラリがあります。たとえば、haskellのquickcheckです。 http://news.ycombinator.com/item?id=3020132 –
@andrewcooke私はPythonを使用しています。 QuickCheckとそのようなライブラリは興味深いと聞きます - 私は間違いなくそれを見ていきます。 – math4tots
もう一つの興味深いテストツールはKorat(詳細はhttp://www.stanford.edu/class/cs295/papers/issta02.pdf)です。これは実際にコードを検査して、小さな入力でそれを網羅するテストケースを構築します。繰り返しますが、テストのコレクションやPythonではなく、まだ分かりやすいクールなツールです。 – templatetypedef