2

アルゴリズム/データ構造で「何が起こっているかを見る」ための最良の方法は何ですか? 二分探索のようなものであれば、たくさんの箱が一列に並んでいて、毎回その半分を捨てることを想像するだけです。アルゴリズム/データ構造のように抽象的なものを理解できる、より強力なものはありますか?

明確化: もう少し一般的なものを探しています。例: 時間を視覚化するために - 頭の中で時計を使用する人もいますが、それは遅いですが、より自然な感じは地球であり、アルゴリズムがどのように機能するかを「感じ」ようとしている場合は、2 つのオブジェクトを想像できます。その地球上でさまざまな方向に動いています。

4

3 に答える 3

3

一般に、アニメーションは、アルゴリズムの実行など、時間の経過とともに発生するプロセスを視覚化するのに優れています。

たとえば、次のアニメーションを確認してください

これは、データ構造が MergeSort でどのように機能するかを示すアニメーションです。

さて、アルゴリズムをアニメーション化されたビジュアライゼーションに接続するのに時間を費やしたいかどうかは別の問題です!

于 2008-12-06T03:25:55.390 に答える
2

アルゴリズムアニメーションは 1990 年代の大きな研究分野でした。当時デジタル システム リサーチ センターにいたマーク H. ブラウンは、多くの興味深い研究を行いました。彼のZeusアニメーション システムのソース コードはまだ入手可能であり、セットアップするのは難しくありません。何年も前に Zeus で遊んだのですが、私の記憶が正しければ、多数のアニメーションが同梱されています。

彼らは、専門家ではない人々が集まって新しいアルゴリズムを活気づける「フェスティバル」をいくつか開催しました。1993年のフェスティバルのレポート(静止画あり)の1つをご覧いただけます。YouTube には、Visualizing Combinatorial Structuresというビデオがあります。

于 2008-12-06T03:47:14.023 に答える
0

あるものを別のものに置き換えて説明することをアナロジーと呼びます。ボックスの束である二分探索でそれをやっただけです。生徒の予備知識をいじるだけです。

たとえば、ツリーは、複数の「次の」ノードを持つリンクされたリストと考えることができます。また、階層に似たものとして初心者に説明することもできます。

具体的な説明方法としては、Graphvizで簡単にグラフやステートマシンを可視化できます。非常に基本的な有向グラフは、非常に簡単に表現できます。

digraph G {
   A->B;
   B->C;
   C->D;
   D->B;
}
于 2008-12-06T03:31:32.307 に答える