SEMANA_2 - Carlos2190/ANALISIS-DE-ALGORITMOS GitHub Wiki
Capítulo 2: Algoritmia Elemental (Fundamentos dealgoritmia; Brassard G)
Introducción
El capítulo aborda los conceptos fundamentales de la algoritmia y la importancia de tener una base sólida para abordar problemas computacionales.
Definición de Algoritmos Elementales
Se define un algoritmo elemental como una serie de operaciones que se pueden realizar de manera sistemática para resolver problemas específicos. Estos algoritmos forman la base para el desarrollo de algoritmos más complejos.
Estructuras de Control
Se discuten las estructuras de control que son esenciales para el diseño y la implementación de algoritmos. Las principales estructuras incluyen:
- Secuencia: Ejecución de operaciones en orden.
- Selección: Uso de instrucciones condicionales (
if
,switch
) para decidir qué bloques de código ejecutar. - Repetición: Uso de bucles (
for
,while
) para ejecutar secciones de código múltiples veces.
Técnicas de Diseño
El capítulo explora diversas técnicas de diseño de algoritmos, incluyendo:
- Estrategia de Fuerza Bruta: Intentar todas las soluciones posibles.
- Backtracking: Probar soluciones y retroceder si se determina que no son viables.
- División y Conquista: Dividir el problema en subproblemas más pequeños, resolverlos y combinar los resultados.
Ejemplos de Algoritmos Elementales
Se presentan ejemplos específicos de algoritmos elementales, como la búsqueda lineal y la búsqueda binaria, destacando sus diferencias, eficiencias y casos de uso.
Complejidad Computacional
Se introduce el concepto de complejidad computacional, discutiendo cómo medir la eficiencia de un algoritmo en términos de tiempo y espacio. Se presentan las notaciones Big O y su uso para clasificar algoritmos.
Conclusión
El capítulo establece una base esencial en algoritmia elemental, que es fundamental para enfrentar problemas más complejos y desarrollar soluciones eficientes. Se enfatiza la importancia de entender estos conceptos antes de avanzar a temas más avanzados.