/Algorithms

Este es un repositorio dedicado a algoritmos, patrones de diseño, arquitecturas y más

Primary LanguageJavaScript

Algoritmos, Patrones de Diseño y Arquitecturas

¡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.

Contenido

Algoritmos

  1. Ordenamiento:
  • Quicksort
  • Mergesort
  • Heapsort
  • Bubblesort
  • Insertionsort
  1. 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)
  1. 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)
  1. Búsqueda:
  • Búsqueda binaria
  • Búsqueda lineal
  • Búsqueda en profundidad (DFS)
  • Búsqueda en anchura (BFS)

Y más...

Patrones de Diseño

  1. Creacionales
  • Singleton
  • Factory
  • Builder
  • Prototype
  1. Estructurales
  • Adapter
  • Decorator
  • Facade
  • Proxy
  • Bridge
  • Composite
  • Flyweight
  1. Comportamiento
  • Observer
  • Strategy
  • Command
  • Template Method
  • Chain of Responsibility
  • State
  • Iterator
  • Mediator
  • Visitor
  • Memento
  • Interpreter

Arquitecturas de Software

  1. Basadas en Capas
  • N-Tier / Capas
  • Microservicios
  • Service-Oriented Architecture (SOA)
  1. Basadas en Patrones de Comunicación
  • RESTful
  • Event-Driven Architecture (EDA)
  • Peer-to-Peer (P2P)
  1. Basadas en la Distribución de Componentes
  • Arquitectura Hexagonal (Puertos y Adaptadores)
  • Cloud-Native Architecture
  • Serverless
  1. 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)
  1. Específicas para Tipos de Datos y Procesamiento
  • Big Data Architectures
  • Component-Based Architecture

Cómo Contribuir

¡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.

Agradecimientos

¡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!

Contacto

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! 🚀