Descripción
1 Introducción 1Modelos del mundo y formalización de problemas . . 4¿Qué es el pensamiento computacional? . . . . . . . . . . . 6El pensamiento computacional en un contexto más amplio . . . 12Lo que vendrá . . . . . . . . . . . . . . . . . . . 152 Introducción a la programación en Python 19Obtención de Python . . . . . . . . . . . . . . . . . 20Ejecución de Python . . . . . . . . . . . . . . . . . . 22Expresiones en Python . . . . . . . . . . . . . . . . 22Expresiones lógicas (o booleanas) . . . . . . . . . . . 26Variables . . . . . . . . . . . . . . . . . . . . . . 30Trabajo con cadenas . . . . . . . . . . . . . . . . . 32Listas . . . . . . . . . . . . . . . . . . . . . . . . 36Tuplas . . . . . . . . . . . . . . . . . . . . . . . 41iiiConjuntos y diccionarios . . . . . . . . . . . . . . . . 42Entrada y salida . . . . . . . . . . . . . . . . . . 44Sentencias condicionales (sentencias if) . . . . . . 47Bucles (for y while) . . . . . . . . . . . . . . . . . 50Uso de módulos . . . . . . . . . . . . . . . . . . . 543 Introducción a los algoritmos 57Diseño de algoritmos . . . . . . . . . . . . . . . . 62Ejercicios para algoritmos secuenciales . . . . . . . 81Ejercicios sobre listas . . . . . . . . . . . . . . . . . 874 Eficiencia algorítmica 95El modelo RAM de una computadora y sus operaciones primitivas . . . . . . . . . . . . . . . 97Tipos de eficiencia . . . . . . . . . . . . . . . . . . 107Tiempo de ejecución asintótico y notación de "Big-Oh" . . 116Validación empírica del tiempo de ejecución de un algoritmo 1355 Búsqueda y ordenación 141Búsqueda . . . . . . . . . . . . . . . . . . . . . . 142Ordenación . . . . . . . . . . . . . . . . . . . . . . 147Generalización de búsqueda y ordenación . . . . . . . . 182Cómo las computadoras representan los números . . . . . . . 1866 Funciones 197Parámetros y variables locales y globales . . . . . . 203Efectos secundarios . . . . . . . . . . . . . . . . . . 210Retorno de una función . . . . . . . . . . . . . . . . 215Funciones de orden superior . . . . . . . . . . . . . . 221Funciones vs. instancias de funciones . . . . . . . . . 227Parámetros predeterminados y argumentos de palabra clave . . . 230Generalización de parámetros . . . . . . . . . . . . . 234Excepciones . . . . . . . . . . . . . . . . . . . . . 239Escribiendo tus propios módulos de Python . . . . . . 2517 Funciones internas 253Una función de comparación para un algoritmo de búsqueda . . 256Función de contador . . . . . . . . . . . . . . . . . . 261Aplicar . . . . . . . . . . . . . . . . . . . . . . . . 265Funciones de currificación . . . . . . . . . . . . . . . 269Composición de funciones . . . . . . . . . . . . . . . 274Thunks y evaluación perezosa . . . . . . . . . . . . 276Decoradores . . . . . . . . . . . . . . . . . . . . . 281Eficiencia . . . . . . . . . . . . . . . . . . . . . . 2888 Recursión 291Definiciones de recursión . . . . . . . . . . . . . . 291Funciones recursivas . . . . . . . . . . . . . . . . 293Pilas de recursión . . . . . . . . . . . . . . . . . . 297Recursión e iteración . . . . . . . . . . . . . . . . 307Llamadas de cola . . . . . . . . . . . . . . . . . . . 316Continuaciones . . . . . . . . . . . . . . . . . . . 324Continuaciones, thunks y trampolines . . . . . . . 3359 Divide y vencerás y programación dinámica 343Tiempos de ejecución de divide y vencerás . . . . . . . 355Programación dinámica . . . . . . . . . . . . . . . 371Representación de números de coma flotante . . . . . . 39210 Modelos ocultos de Markov 399Probabili
Autor: Thomas Mailund
Editorial: Apress
Publicado: 17/07/2021
Páginas: 657
Tipo de encuadernación: Tapa blanda
Peso: 2.53lbs
Tamaño: 10.00h x 7.00w x 1.35d
ISBN13: 9781484270769
ISBN10: 1484270762
Categorías BISAC:
- Computadoras | Ciencias de la Computación
- Computadoras | Programación | Algoritmos
- Computadoras | Lenguajes | Python
Autor: Thomas Mailund
Editorial: Apress
Publicado: 17/07/2021
Páginas: 657
Tipo de encuadernación: Tapa blanda
Peso: 2.53lbs
Tamaño: 10.00h x 7.00w x 1.35d
ISBN13: 9781484270769
ISBN10: 1484270762
Categorías BISAC:
- Computadoras | Ciencias de la Computación
- Computadoras | Programación | Algoritmos
- Computadoras | Lenguajes | Python
Acerca del autor
Thomas Mailund, PhD, es profesor asociado de bioinformática en la Universidad de Aarhus, Dinamarca. Tiene experiencia en matemáticas y ciencias de la computación, incluyendo programación y enseñanza en los lenguajes de programación C, Python y R. Durante la última década, su enfoque principal ha sido la genética y los estudios evolutivos, particularmente la genómica comparada, la especiación y el flujo genético entre especies emergentes.

