An open API service indexing awesome lists of open source software.

https://github.com/camilocsoto/algoritmos

Educational repo where is explained algorithms with python
https://github.com/camilocsoto/algoritmos

Last synced: 4 months ago
JSON representation

Educational repo where is explained algorithms with python

Awesome Lists containing this project

README

          

### Algoritmos de Recorrido (Traversal)
Ejemplos: Recorrer listas, matrices (arrays bidimensionales), o estructuras como árboles (aunque estos últimos son más avanzados).

Aplicación: Sumar elementos de una lista, encontrar el máximo/mínimo en una matriz, etc.

### Algoritmos de Fuerza Bruta (Brute Force)
Resuelven problemas probando todas las soluciones posibles.

Ejemplo: Verificar todas las combinaciones de un candado numérico de 3 dígitos.

### Algoritmos Matemáticos Básicos
Ejemplos:

Calcular el máximo común divisor (algoritmo de Euclides).

Verificar si un número es primo.

Generar la secuencia de Fibonacci.

### Algoritmos de Validación
Verifican si ciertas condiciones se cumplen.

Ejemplos:

Validar si una cadena es un palíndromo.

Verificar si los paréntesis en una expresión están balanceados (usando una pila/stack).

### Algoritmos de Divide y Vencerás (Divide and Conquer)
Dividen el problema en subproblemas más pequeños.

Ejemplo: Merge Sort (ordenamiento), Búsqueda binaria (ya visto en búsqueda).

### Algoritmos Greedy (Voraces)
Toman decisiones locales óptimas en cada paso.

Ejemplo: El problema del cambio mínimo (usar monedas de mayor valor primero).

### Algoritmos de Grafos (Básicos)
Aunque son más avanzados, algunos conceptos simples pueden introducirse:

Búsqueda en anchura (BFS) y búsqueda en profundidad (DFS) para recorrer grafos o árboles.

Algoritmos para encontrar caminos simples.

### Algoritmos de Manipulación de Cadenas
Ejemplos:

Contar la frecuencia de caracteres en una cadena.

Encontrar subcadenas o anagramas.

### Algoritmos de Ordenamiento Adicionales
Además de los básicos (Bubble Sort, Insertion Sort), hay otros como:

Selection Sort

Merge Sort (Divide y Vencerás)

Quick Sort (aunque su implementación recursiva puede ser un reto inicial).

### Algoritmos de Eficiencia (Análisis de Complejidad)
Aprender a medir la complejidad temporal (Big O) de tus algoritmos, aunque sea de forma intuitiva.