¡Bienvenido a este repositorio dedicado a algoritmos, patrones de diseño, arquitecturas y más! Aquí encontrarás una colección de recursos útiles y ejemplos prácticos para mejorar tus habilidades de programación y diseño de software.
- Ordenamiento:
- Quicksort
- Mergesort
- Heapsort
- Bubblesort
- Insertionsort
- Grafos:
- Algoritmo de Dijkstra
- Algoritmo de Bellman-Ford
- Algoritmo de Kruskal (para árboles de expansión mínima)
- Algoritmo de Prim (para árboles de expansión mínima)
- Algoritmo de Floyd-Warshall (para caminos más cortos)
- Matemática:
- Algoritmo de Euclides (para encontrar el máximo común divisor)
- Criba de Eratóstenes (para encontrar números primos)
- Algoritmo de exponenciación rápida (para calcular potencias de números)
- Búsqueda:
- Búsqueda binaria
- Búsqueda lineal
- Búsqueda en profundidad (DFS)
- Búsqueda en anchura (BFS)
Y más...
- Creacionales
- Singleton
- Factory
- Builder
- Prototype
- Estructurales
- Adapter
- Decorator
- Facade
- Proxy
- Bridge
- Composite
- Flyweight
- Comportamiento
- Observer
- Strategy
- Command
- Template Method
- Chain of Responsibility
- State
- Iterator
- Mediator
- Visitor
- Memento
- Interpreter
- Basadas en Capas
- N-Tier / Capas
- Microservicios
- Service-Oriented Architecture (SOA)
- Basadas en Patrones de Comunicación
- RESTful
- Event-Driven Architecture (EDA)
- Peer-to-Peer (P2P)
- Basadas en la Distribución de Componentes
- Arquitectura Hexagonal (Puertos y Adaptadores)
- Cloud-Native Architecture
- Serverless
- Basadas en Patrones de Diseño y Dominio
- MVC (Modelo-Vista-Controlador)
- MVVM (Modelo-Vista-Modelo de Vista)
- Event Sourcing and CQRS
- Domain-Driven Design (DDD)
- Específicas para Tipos de Datos y Procesamiento
- Big Data Architectures
- Component-Based Architecture
¡Tu contribución es bienvenida! Si tienes implementaciones de algoritmos, ejemplos de patrones de diseño, consejos de arquitectura o cualquier otro recurso valioso, no dudes en enviar un pull request. Por favor, asegúrate de seguir las siguientes pautas al contribuir:
Mantén el código limpio y bien comentado. Proporciona explicaciones claras junto con tu código para ayudar a otros a entenderlo. Incluye ejemplos de uso cuando sea apropiado. Asegúrate de respetar las licencias de cualquier código o recurso que incluyas. Código de Conducta Este repositorio sigue un código de conducta que fomenta un ambiente inclusivo y respetuoso para todos. Todos los colaboradores deben leer y adherirse a este código. Cualquier comportamiento inapropiado será tratado con seriedad.
¡Agradecemos a todos los contribuidores por su esfuerzo y dedicación para hacer de este repositorio una excelente fuente de recursos para la comunidad de desarrolladores!
Si tienes preguntas, sugerencias o simplemente quieres ponerte en contacto, no dudes en abrir un issue o enviar un correo electrónico a [tu correo electrónico].
¡Disfruta explorando y aprendiendo en este repositorio! 🚀