2

私は、グラフを解決する必要がある問題 (グラフによって解決するのが最適です) について、よりよく知ろうとしています。

誰かがグラフを利用した古い ACM プログラミング コンペティションの問題を抱えている場合、または解決したときに特に啓発的であると感じた別の問題を抱えている場合は、感謝します。グラフに慣れ、グラフ タイプの問題を簡単に特定し、基本的なグラフ トラバーサル アルゴリズムを利用できるようになりたいです。

誰でも私に送ることができる甘い問題を抱えていますか?

4

6 に答える 6

2

グラフの操作をよりよく理解するには、いくつかの既知のグラフ アルゴリズムを実装することをお勧めします。

ぬりかべソルバーやジェネレーターを実装してみてください。かなりの古典的なグラフ操作が必要になります。

于 2008-10-01T04:29:59.273 に答える
1

グラフは文字通り、ほとんどすべての問題をモデル化するために使用できます。Topcoder.comのマラソン マッチは、多くの場合、グラフベースのソリューションに適しています。

  • ProcessorSchedulingの問題は、グラフで解決できます。
  • GraphBuilderの問題。
  • 距離の問題。
  • MapMakerの問題 (古典的なコンピューター サイエンスの問題である加重 k カラーリングの問題)。

これらの問題のいくつかをチェックアウトするかもしれません - そしてそれらがどこから来たのかもっとあります。

于 2008-10-01T17:04:49.677 に答える
1

この本は非常に役に立ちました (Amazon リンク): Programming Challenges

グラフ、ツリー、基本的なデータ構造のかなり詳細な説明を提供するだけでなく、各タイプに関連するいくつかのプログラミングの課題を提供します! この文書は私の教科書よりも役に立ちます!

その中のグラフの問題のいくつかを次に示します。

グラフ トラバーサルに関する問題:

  • バイカラー : pg 203
  • 車輪で遊ぶ:pg 204
  • 観光ガイド : pg 206
  • スラッシュメイズ:pg 208
  • ステップラダーの編集: pg 210
  • 立方体の塔 : pg 211
  • 夕暮れから夜明けまで:pg 213
  • ハノイタワートラブル(再び!):pg 215

グラフ アルゴリズム(ダイクストラ、最小スパニング ツリーなど)に関する問題:

  • そばかす : pg 231
  • ネックレス : pg 231
  • 消防署 : pg 234
  • 鉄道 : pg 235
  • 戦争:237ページ
  • グランドディナー:pg 241
于 2008-10-02T17:22:17.833 に答える
1

ケーニヒスベルク橋問題に精通している必要があります。また、グラフ理論の問題でよく出てくるデータ構造のタイプにも精通している必要があります。

于 2008-10-01T12:06:22.423 に答える
0

どの言語を使用しているかは言いません (使用を考えています)。可能であれば、Lisp または Python をお勧めします。どちらも簡単なグラフ操作に適しています。本当に凝ったものにしたい場合は、PyGame を使用してきれいな出力を作成することをお勧めします。

問題は、簡単なプログラムを見て、グラフに変換してください。ヒント、各トークンはノードです。いくつかのループと方程式があると仮定すると、グラフをトラバースして、ループの外に移動できるものを特定できます。方程式は、より「効率的」になるように再配置できます。

この問題に対する私の論理的根拠は、コンパイラの最適化フェーズ内で進行している可能性のあるプロセスの種類を確認することで、プログラマーとして役立つということです。

ところで、上記を試してみて、Plexを見てください。パーサーで多くの時間を節約できます。

于 2008-10-01T04:47:02.137 に答える
0

http://codekata.pragprog.com/2007/01/kata_nineteen_w.html

ヒント: DAWG は非常に優れた方法です。

于 2008-10-01T04:47:51.243 に答える