Visualisasi algoritma dunia nyata
Ringkasan
Repositori ini berisi visualisasi beberapa algoritma kompleks yang saya buat sebagai bagian dari kelas algoritma dunia nyata saya, menggunakan API Bridges . Para visualisasi menunjukkan bagaimana berbagai algoritma bekerja dalam praktik, memberikan pendekatan interaktif dan visual untuk memahami perilaku dan kinerja mereka. Anda dapat menjelajahi visualisasi di Bridges-CS.
Algoritma tertutup
Sepanjang kursus, saya menerapkan dan memvisualisasikan algoritma berikut:
1. Algoritma penyortiran
- Gabungan Sort : Algoritma penyortiran divide-and-conquer dengan kompleksitas waktu O (n log n).
- Quicksort : Algoritma penyortiran efisien lainnya yang bekerja dengan mempartisi array dan menyortir partisi secara rekursif.
2. Representasi grafik dan traversal
- Lebar-First Search (BFS) : Menjelajahi semua node pada kedalaman saat ini sebelum pindah ke node pada level kedalaman berikutnya.
- Pencarian kedalaman-pertama (DFS) : Menjelajahi sejauh mungkin di setiap cabang sebelum mundur.
- Aplikasi : Diimplementasikan BFS untuk menghitung nomor bacon dan dieksplorasi representasi grafik menggunakan daftar dan matriks adjacency.
3. Algoritma grafik
- Algoritma jalur terpendek Dijkstra : menemukan jalur terpendek antara node dalam grafik.
- Pohon Spanning Minimum Prim (MST) : Menghitung pohon spanning minimum grafik.
- Proyek : Analisis jalur terpendek yang diterapkan pada data OpenStreetMap dan garis tengah yang diekstraksi dari struktur tubular menggunakan MST.
4. Pencocokan string
- Algoritma Horspool : Algoritma pencocokan string yang efisien yang digunakan dalam proyek penyelarasan urutan gen, memungkinkan penyelarasan global dan lokal.
5. Pencarian dan Pengindeksan
- Pencarian Biner : Algoritma pencarian waktu logaritmik untuk menemukan elemen dalam array yang diurutkan.
- PageRank : Mengimplementasikan algoritma PageRank menggunakan data aktor/film Wikipedia untuk pengindeksan dan peringkat halaman web.
- Pohon pencarian spasial : Dieksplorasi struktur data spasial seperti quadtrees.
6. Algoritma lainnya
- Masalah Salesman Bepergian : Digunakan MST Prim untuk memperkirakan tur wisatawan keliling kota -kota AS.
- Masalah Knapsack : Teknik pemrograman dinamis terapan untuk menyelesaikan masalah optimasi ini.
Proyek dan visualis
Masing -masing algoritma di atas diimplementasikan dan divisualisasikan menggunakan API Bridges . Visualisasi dapat dieksplorasi melalui platform Bridges-CS. Proyek-proyek ini menunjukkan aplikasi dunia nyata dari algoritma kompleks dan memberikan pemahaman intuitif tentang eksekusi mereka.
Proyek:
- BFS dan DFS Traversal Visualzer
- Pencari Jalur Terpendek Dijkstra
- Gabungkan visualisasi sortir dan quicksort
- Algoritma PageRank tentang Data Wikipedia
- Visualisator Penyelarasan Urutan Gen
Bagaimana menjalankan
- Klon Repositori ini:
git clone https://github.com/sudo-amancodes/real-world-algorithms-visualizers.git
- Jalankan file lab untuk lab tertentu:
Teknologi yang digunakan:
- Python: Memulai bahasa pemrograman untuk implementasi algoritma.
- Java: Bahasa pemrograman inti untuk implementasi algoritma.
- Bridges API: Digunakan untuk membuat visualisasi algoritma.
Demo:


Tangkapan layar dari antarmuka pencarian quadtree dan quadtree.