実際のアルゴリズムの視覚化
概要
このリポジトリには、 Bridges APIを使用して、実際のアルゴリズムクラスの一部として作成した複数の複雑なアルゴリズムの視覚化が含まれています。視覚装置は、さまざまなアルゴリズムが実際にどのように機能するかを示しており、行動とパフォーマンスを理解するためのインタラクティブで視覚的なアプローチを提供します。 Bridges-CSの視覚化を探ることができます。
カバーされているアルゴリズム
コースを通して、次のアルゴリズムを実装および視覚化しました。
1.ソートアルゴリズム
- マージソート:O(n log n)の時間の複雑さを備えた分割統一ソートアルゴリズム。
- QuickSort :配列をパーティション化してパーティションを再帰的に並べ替えることで機能する別の効率的なソートアルゴリズム。
2。グラフ表現とトラバーサル
- Bredth-First Search(BFS) :次の深さレベルでノードに移動する前に、現在の深さですべてのノードを探索します。
- 深さfirst検索(DFS) :バックトラッキングの前に、各ブランチに沿って可能な限り探索します。
- アプリケーション:BFSを実装してベーコン番号を計算し、隣接するリストとマトリックスを使用してグラフ表現を調査しました。
3。グラフアルゴリズム
- Dijkstraの最短パスアルゴリズム:グラフ内のノード間の最短パスを見つけます。
- Primの最小スパニングツリー(MST) :グラフの最小スパニングツリーを計算します。
- プロジェクト:MSTを使用した管状構造からOpenStreetMapデータと抽出されたセンターラインに最短パス分析を適用しました。
4。文字列マッチング
- Horspoolのアルゴリズム:Gene Sequenceアラインメントプロジェクトで使用される効率的な文字列マッチングアルゴリズムで、グローバルアライメントとローカルアライメントの両方を可能にします。
5。検索とインデックス作成
- バイナリ検索:ソートされた配列内の要素を見つけるための対数時間検索アルゴリズム。
- Pagerank :Wikipedia Actor/Movie Dataを使用して、Webページのインデックス作成とランキングのためにPageRankアルゴリズムを実装しました。
- 空間検索ツリー:Quadtreeなどの空間データ構造を調査しました。
6。その他のアルゴリズム
- 旅行セールスマンの問題:PrimのMSTを使用して、米国の都市の巡回セールスマンツアーを近似しました。
- ナップサックの問題:この最適化の問題を解決するための応用動的プログラミング手法。
プロジェクトと視覚化装置
上記の各アルゴリズムが実装され、 Bridges APIを使用して視覚化されました。視覚化剤は、Bridges-CSプラットフォームを介して探索できます。これらのプロジェクトは、複雑なアルゴリズムの実際のアプリケーションを実証し、その実行を直感的に理解しています。
プロジェクト:
- BFSおよびDFSトラバーサルビジュアライザー
- ディクストラの最短パスファインダー
- ソートとクイックソートビジュアライザーをマージします
- Wikipediaデータに関するPagerankアルゴリズム
- 遺伝子シーケンスアライメントビジュアライザー
実行方法
- このリポジトリをクローンします:
git clone https://github.com/sudo-amancodes/real-world-algorithms-visualizers.git
- 特定のラボのラボファイルを実行します。
使用されるテクノロジー:
- Python:アルゴリズムの実装のためのプログラミング言語の開始。
- Java:アルゴリズムの実装のためのコアプログラミング言語。
- Bridges API:アルゴリズムの視覚化の作成に使用されます。
デモ:


QuadtreeおよびQuadtree Searchインターフェイスのスクリーンショット。