現實世界算法可視化
概述
該存儲庫包含我使用Bridges API創建的多種複雜算法的可視化算法。可視化器演示了各種算法在實踐中的工作方式,提供了一種交互式和視覺方法來理解其行為和性能。您可以探索Bridges-CS的可視化。
涵蓋算法
在整個課程中,我實施並顯示了以下算法:
1。排序算法
- 合併排序:分類和分類算法具有O(n log n)的時間複雜性。
- QuickSort :另一種有效的排序算法,該算法通過對數組進行劃分並遞歸對分區進行分類。
2。圖表和遍歷
- 廣度優先搜索(BFS) :在下一個深度級別移至節點之前,請探索當前深度的所有節點。
- 深度優先搜索(DFS) :在回溯之前,盡可能沿每個分支探索。
- 應用程序:實施BFS來計算培根編號並使用鄰接列表和矩陣探索圖表。
3。圖算法
- Dijkstra的最短路徑算法:在圖中找到節點之間的最短路徑。
- PRIM的最小跨越樹(MST) :計算圖的最小跨越樹。
- 項目:使用MST從管狀結構中提取的中心線上應用的最短路徑分析。
4。弦匹配
- Horspool的算法:在基因序列比對項目中使用的有效弦弦匹配算法,從而實現了全球和局部比對。
5。搜索和索引
- 二進制搜索:用於在排序陣列中查找元素的對數時間搜索算法。
- Pagerank :使用Wikipedia Actor/Movie Data實現了Pagerank算法,以索引和排名網頁。
- 空間搜索樹:探索的空間數據結構,例如四方。
6。其他算法
- 旅行推銷員問題:使用Prim的MST來近似美國城市的旅行推銷員之旅。
- 背包問題:應用動態編程技術來解決此優化問題。
項目和可視化器
使用Bridges API實現和可視化上述每種算法。可以通過Bridges-CS平台探索可視化器。這些項目展示了複雜算法的現實應用,並對它們的執行提供了直觀的理解。
專案:
- BFS和DFS遍歷可視化器
- Dijkstra的最短路徑查找器
- 合併排序和QuickSort Visualizer
- Wikipedia數據的Pagerank算法
- 基因序列比對可視化器
如何運行
- 克隆這個存儲庫:
git clone https://github.com/sudo-amancodes/real-world-algorithms-visualizers.git
- 運行特定實驗室的實驗文件:
使用的技術:
- Python:啟動用於算法實現的編程語言。
- Java:用於實現算法的核心編程語言。
- 橋接API:用於創建算法的可視化。
演示:


Quadtree和Quadtree搜索接口的屏幕截圖。