Page 10 - INTRODUCCIÓN AL ANÁLISIS DE ALGORITMOS
P. 10
INTRODUCCIÓN AL ANÁLISIS DE ALGORITMOS
PRESENTACIóN
Los avances en el estudio de la computación no solo determinan las posibles tecnologías que se
podrán emplear en el futuro, sino que también definen el ámbito de aplicación de los programas y
los límites de la solución de problemas mediante el uso de computadoras. Esto se ha conseguido
gracias al aprovechamiento de los conocimientos matemáticos logrados durante el siglo XX, los
cuales sentaron las bases para manipular los equipos digitales de nuestro tiempo y para impulsar el
desarrollo exponencial de la ciencia.
Debido a lo anterior, en la actualidad es cada vez más importante que los alumnos de nivel superior
(especialmente los vinculados con las matemáticas y carreras afines al cómputo, como la psicología
o la filosofía) comprendan los temas de dicha área. Por este motivo, en la presente obra se explican
algunos de los principales conceptos de la teoría de la computación con el fin de intentar familiarizar
a los referidos estudiantes con el campo de los algoritmos y de su eficiencia.
En concreto, el libro se compone de nueve capítulos organizados es cuatro secciones. En la sección
I se abordan los conceptos sobre la complejidad algorítmica y la metodología para calcularla; asi-
mismo, se describen algunos programas implementados en lenguaje C con los que se ejemplifica la
solución de problemas mediante algoritmos de distinta complejidad, los cuales sirven para aumentar
la lógica computacional de los estudiantes.
En la sección II (la más extensa) se explican los diferentes paradigmas de solución de problemas
(como divide y conquistarás), la estrategia del avaro, la programación dinámica, la programación
lineal, el retorno atrás, y la ramificación y acotamiento, todas estas usadas para resolver problemas
de ordenamientos, búsquedas, optimización o decisión.
En la sección III se comentan las tesis matemáticas más relevantes del siglo XX, las cuales determi-
naron el avance de las matemáticas, la ciencia y la computación en las últimas décadas. Igualmente,
se narra la evolución de las reflexiones matemáticas y sus implicaciones en la ciencia, y se plantean
las preguntas matemáticas que aún se hallan a la espera de una respuesta, lo cual seguramente
contribuirá al desarrollo de la computación.
Por último, en la sección IV se explican los fundamentos matemáticos requeridos para iniciarse en la
complejidad algorítmica, para lo cual se usan ejemplos y ejercicios que permitirán poner en práctica
los conceptos tratados. Esta sección es importante como capítulo introductorio y se recomienda
para estudiantes que no han tratado el tema previamente.
En definitiva, se sugiere usar este material como libro de texto para cursos de programación avan-
zada o de complejidad algorítmica, con el estudio de las secciones I, II y III, mientras que se reco-
mienda iniciar en la sección IV solo si los estudiantes necesitan fortalecer su conocimiento sobre los
prerrequisitos.
4