Visualizaciones de algoritmos del mundo real
Descripción general
Este repositorio contiene visualizaciones de múltiples algoritmos complejos que creé como parte de mi clase de algoritmos del mundo real, utilizando la API Bridges . Los visualizadores demuestran cómo funcionan varios algoritmos en la práctica, proporcionando un enfoque interactivo y visual para comprender su comportamiento y rendimiento. Puede explorar las visualizaciones en Bridges-CS.
Algoritmos cubiertos
A lo largo del curso, implementé y visualicé los siguientes algoritmos:
1. Algoritmos de clasificación
- Sorteo de fusión : un algoritmo de clasificación de división y concurrida con una complejidad de tiempo de O (n log n).
- Quicksort : otro algoritmo de clasificación eficiente que funciona al dividir la matriz y clasificando las particiones de manera recursiva.
2. Representación de gráficos y traversales
- Birth-First Search (BFS) : explora todos los nodos a la profundidad actual antes de moverse a los nodos en el siguiente nivel de profundidad.
- Búsqueda de profundidad primero (DFS) : explora lo más posible a lo largo de cada rama antes de retroceder.
- Aplicación : implementó BFS para calcular los números de tocino y exploró la representación de gráficos utilizando listas de adyacencia y matrices.
3. Algoritmos gráficos
- Algoritmo de ruta más corto de Dijkstra : encuentra la ruta más corta entre los nodos en un gráfico.
- El árbol de expansión mínimo de Prim (MST) : calcula el árbol de expansión mínimo de un gráfico.
- Proyectos : Análisis de ruta más corta aplicada en los datos de OpenStreetMap y las líneas centrales extraídas de las estructuras tubulares utilizando MST.
4. Cadena de coincidencia
- Algoritmo de Horspool : un algoritmo de coincidencia de cuerdas eficiente utilizado en proyectos de alineación de secuencias de genes, lo que permite la alineación global y local.
5. Buscando e indexación
- Binary Search : un algoritmo de búsqueda de tiempo logarítmico para encontrar elementos en una matriz ordenada.
- PageRank : implementó un algoritmo de PageRank utilizando datos de actor/película de Wikipedia para las páginas web de indexación y clasificación.
- Árboles de búsqueda espacial : exploradas estructuras de datos espaciales como Quadtrees.
6. Otros algoritmos
- Problema de vendedor ambulante : usó el MST de Prim para aproximar la gira de vendedores ambulantes de las ciudades estadounidenses.
- Problema de mochila : técnicas de programación dinámica aplicadas para resolver este problema de optimización.
Proyectos y visualizadores
Cada uno de los algoritmos anteriores se implementó y visualizó utilizando la API Bridges . Los visualizadores se pueden explorar a través de la plataforma Bridges-CS. Estos proyectos demuestran la aplicación del mundo real de algoritmos complejos y proporcionan una comprensión intuitiva de su ejecución.
Proyectos:
- Visualizador transversal BFS y DFS
- El buscador de rutas más corto de Dijkstra
- Fusionar los visualizadores de clasificación y aceleración
- Algoritmo de PageRank en datos de Wikipedia
- Visualizador de alineación de secuencias de genes
Cómo correr
- Clon este repositorio:
git clone https://github.com/sudo-amancodes/real-world-algorithms-visualizers.git
- Ejecute los archivos de laboratorio para un laboratorio específico:
Tecnologías utilizadas:
- Python: Iniciar lenguaje de programación para la implementación del algoritmo.
- Java: lenguaje de programación central para la implementación del algoritmo.
- API Bridges: utilizado para crear visualizaciones de los algoritmos.
Manifestación:


Captura de pantalla de la interfaz de búsqueda Quadtree y Quadtree.