2012-03-07 11 views
9

私はCormenらが紹介したアルゴリズムの一部を読み、いくつかのアルゴリズムを実装しました。さまざまなアルゴリズムのサンプル入力

私の実装をテストするために、ファイルioを実行するいくつかのグルーコードを書いた後、手作業でいくつかのサンプル入力を行い、サンプル入力を生成するプログラムを作成してサンプル入力を行いました。

しかし、自分のサンプル入力の質については疑問があります。私はもっ​​と興味深い可能性を見逃しているかもしれません。私は適切な出力を誤って計算したかもしれません。

私は自分のコードをテストできるように、インターネット上のどこかで収集されたさまざまなアルゴリズムのテスト入力と出力のセットがありますか?私は、特定のアルゴリズムに合理的に固有のテストデータを探しています。問題解決のためのコンポーネントを含むことが多いコンテストの問題ではありません。

入力が収集される形式(入力のさまざまな制約、グラフアルゴリズム、グラフの表示など)に応じてコードを調整する必要があることを理解していますが、私がしなければならない変化は、かなり些細なことであろう。

編集:クイックソートがひどく行われるように数字

  • スキューの

    • リスト:

      私は現在探していますいくつかの特定のデータセットがあります。

    • フィボナッチヒープが傾いているため、特定の操作で特にうまく機能しません。
  • グラフ(高性能マーク興味深い参照の数を提供したため)
    • スパースグラフ(エッジの数に特定の境界を持つ)、
    • 高密度グラフ、

私はまだ本を読んでいるので、あなたと同じような状況にいる場合、またはリストを改善できると感じている場合は、リストを編集してください。すぐに、私は来るかもしれません。データが必要ですあなたが探しているものに似ています。私は、編集権限がどのように機能するかについては完全にはわかっていませんが、私はそれ以上のことがあれば、私はそれを承認しようとします。

+1

あなたはどの言語を使用していますか?一部の言語にはテストデータを自動的に生成するライブラリがあります。たとえば、haskellのquickcheckです。 http://news.ycombinator.com/item?id=3020132 –

+0

@andrewcooke私はPythonを使用しています。 QuickCheckとそのようなライブラリは興味深いと聞きます - 私は間違いなくそれを見ていきます。 – math4tots

+2

もう一つの興味深いテストツールはKorat(詳細はhttp://www.stanford.edu/class/cs295/papers/issta02.pdf)です。これは実際にコードを検査して、小さな入力でそれを網羅するテストケースを構築します。繰り返しますが、テストのコレクションやPythonではなく、まだ分かりやすいクールなツールです。 – templatetypedef

答えて

6

は参照のカップルです:

Knuth's Stanford Graphbase

元へのリンクを探している間、私が偶然見つけStanford Large Network Dataset Collection

。あなたも、このいずれかに興味があるかもしれない:

Matrix Market

なぜあなたの質問を編集して、SO入力の他の種類は、あなたが探しているものを知っているようではありません。

+3

スパース行列コレクションを追加します。疎な行列から簡単にグラフを得ることができます。 http://www.cise.ufl.edu/research/sparse/matrices/ – linello

0

私は自分の頭をつけて、そのような情報源を知らないと言いますが、そのような情報源が存在することは非常に疑います。

アルゴリズムはほぼすべての種類のデータに適用できるため、サンプルデータを提供することは無意味です。私はCormen カバーアルゴリズムのすべてのタイプのためではなく、ここでは、グラフのデータセットのサンプルの入力を提供しますいずれかのリソースを知らない

関連する問題