Saltar al contenido principal
Diseño de Programas

Diseño de Programas

Diseño de Programas

Menchén Peñuela, Antonio

Tal vez éste debería ser el primer libro de programación que todo el mundo debería leer. Aquí se trata la problemática fundamental de la algoritmia: resolver un problema encontrando la solución (o soluciones) que mejor aprovechan los recursos del computador (el tiempo de CPU y el espacio en memoria).Muchos creen que saber programar es conocer el último lenguaje de programación ...

Editorial:
Ra-Ma
Año de edición:
2010
Materia:
Programación
ISBN:
978-84-7897-989-9
Páginas:
186
Encuadernación:
Rústica
14,90 €
IVA incluido
Añadir a favoritos

Sinopsis

Tal vez éste debería ser el primer libro de programación que todo el mundo debería leer. Aquí se trata la problemática fundamental de la algoritmia: resolver un problema encontrando la solución (o soluciones) que mejor aprovechan los recursos del computador (el tiempo de CPU y el espacio en memoria).

Muchos creen que saber programar es conocer el último lenguaje de programación o los entresijos de los más potentes (C, Java, C++, entre otros). Este libro persigue romper con esa idea errónea. Saber programar es (además de buscar la implementación más eficaz) conocer las técnicas de diseño más usuales. En este libro se tratan: la recursiva, divide y vencerás, programación dinámica, backtracking, voraz, ramificación y acotación, y los algoritmos probabilistas.

Este libro le enseñará, con múltiples ejemplos desarrollados y una detallada descripción de los razonamientos seguidos en cada paso, a mejorar su capacidad para resolver y enfrentarse a un problema algorítmico.

Índice

INTRODUCCIÓN

CAPÍTULO 1. LENGUAJE ALGORÍTMICO
1.1 DEFINICIÓN DE ALGORITMO
1.2 LA ROTACIÓN DE UNA LISTA DE NÚMEROS NATURALES
1.3 CUESTIONES
1.3.1 Dos comerciales en el restaurante
1.3.2 Invertir una lista
1.3.3 El palíndromo
1.4 RESPUESTAS A LAS CUESTIONES PLANTEADAS
1.4.1 Dos comerciales en el restaurante
1.4.2 Invertir una lista
1.4.3 El palíndromo

CAPÍTULO 2. COMPLEJIDAD ALGORÍTMICA
2.1 ESTIMACIÓN DE LOS TIEMPOS DE EJECUCIÓN DEL ALGORITMO
2.2 ALGORITMOS ITERATIVOS
2.3 ESTRUCTURAS DE DATOS
2.4 NOTACIÓN ASINTÓTICA
2.4.1 Recurrencias homogéneas
2.4.2 Recurrencias no homogéneas
2.4.3 Ejemplo de aplicación
2.4.4 Divide y Vencerás
2.5 CUESTIONES.
2.6 RESPUESTAS A LAS CUESTIONES PLANTEADAS

CAPÍTULO 3. DIVIDE Y VENCERÁS
3.1 CONSIDERACIONES GENERALES
3.2 ROTAR UNA IMAGEN
3.3 BÚSQUEDA BINARIA
3.4 EL PROBLEMA DE LA ORDENACIÓN
3.4.1 La ordenación por mezcla
3.4.2 Ordenación rápida
3.4.2.1 LA BANDERA HOLANDESA
3.5 CUESTIONES
3.5.1 K-ésimo menor elemento de un vector
3.5.2 Pseudomediana
3.5.3 Rotación de una imagen
3.5.4 Rotación de un vector
3.5.5 Intercalación de dos vectores ordenados
3.5.6 Multiplicación de naturales grandes
3.5.7 Suma de la subsecuencia máxima de un vector de naturales
3.5.8 Moda de un vector
3.5.9 Búsqueda de un elemento en un vector ordenado
3.5.10 Elemento mayoritario de un vector
3.5.11 Algoritmo Shannon-Fano
3.5.12 Mínimo y máximo de un vector no ordenado
3.6 RESPUESTAS A LAS CUESTIONES PLANTEADAS
3.6.1 K-ésimo menor elemento de un vector
3.6.2 Pseudomediana
3.6.3 Rotación de una imagen
3.6.4 Rotación de un vector
3.6.5 Intercalación de dos vectores ordenados
3.6.6 Multiplicación de naturales grandes
3.6.7 Suma de la subsecuencia máxima de un vector de naturales
3.6.8 Moda de un vector.
3.6.9 Búsqueda de un elemento en un vector ordenado
3.6.10 Elemento mayoritario de un vector
3.6.11 Algoritmo de Shannon-Fano
3.6.12 Mínimo y máximo de un vector no ordenado

CAPÍTULO 4. PROGRAMACIÓN DINÁMICA
4.1 PLANTEAMIENTO DEL PROBLEMA DE CONTROL ÓPTIMO
4.2 PROPIEDAD DE CAUSALIDAD
4.3 CONTROL ÓPTIMO CON PROGRAMACIÓN DINÁMICA
4.3.1 El problema de la producción con beneficio máximo
4.3.2 Solucionando problemas con Programación Dinámica
4.3.3 El cambio de monedas
4.4 CUESTIONES
4.4.1 El problema del cambio de monedas
4.4.2 Los litros de leche
4.4.3 Juego con fichas
4.4.4 Inversión en negocios
4.4.5 División de una cantidad
4.4.6 Carga de un avión
4.4.7 Fabricación de automóviles
4.4.8 Fabricación de papel
4.4.9 El problema de la subsecuencia común más larga
4.4.10 Conversión a palíndromo
4.4.11 Caminos mínimos en grafos dirigidos y ponderados
4.4.12 El problema de la multiplicación de n matrices
4.4.13 Multiplicar de forma óptima n matrices
4.4.14 Operaciones con cadenas de caracteres
4.4.15 Número de árboles binarios
4.4.16 El problema de los dos puntos más cercanos
4.4.17 Número de caminos distintos
4.4.18 La función de Fibonacci
4.4.19 Número de ordenaciones con los operadores = y

Artículos relacionados

Comprender los Algoritmos

Comprender los Algoritmos

Y. Bhargava, Aditya

Los algoritmos que utilizas con más frecuencia ya han sido descubiertos, probados y comprobados. La segunda actualización de Comprender los algoritmos hace que sea muy fácil aprenderlos, comprenderlos y usarlos. Con explicaciones maravillosamente sencillas, más de 400 ilustraciones divertidas y docenas de ejemplos relevantes, aprenderás a desbloquear el poder de los algoritmos ...

✅ Disponible

36,95 €

Micropython en Proyectos. Una Introducción Práctica a la Programación de Microco

Micropython en Proyectos. Una Introducción Práctica a la Programación de Microco

Padin Romero, Beatriz / Dapena Janeiro, Ad / Padín Romero, Beatriz / Dapena Janeiro, Adriana

Desarrolle proyectos en MicroPython paso a paso Vivimos rodeados de microcontroladores. Estos pequeños ordenadores, programados para realizar tareas concretas, son la pieza central de muchos de los dispositivos electrónicos con los que interactuamos a diario: electrodomésticos, automóviles, sistemas de monitorización y control? Sin embargo, a pesar de su ubicuidad, su funciona...

✅ Disponible

22,80 €

Guía de Programación en C/C++

Guía de Programación en C/C++

Lopez, Eliezer

Medio siglo después, C y C++ son los lenguajes más eficientes de la historia y el fundamento de gran parte de la tecnología que utilizamos a diario. Creados por y para programadores, se siguen enseñando en miles de centros educativos y ofrecen multitud de ventajas a empresas relevantes en multitud de sectores.C y C++ están presentes en una amplia variedad de sectores gracias a ...

✅ Disponible

29,95 €

Python Black Hat. Programación para Hackers y Pentesters

Python Black Hat. Programación para Hackers y Pentesters

Arnold, Tim / Seitz, Justin

Cuando se trata de crear herramientas de hackeo potentes y eficaces, Python es el lenguaje elegido por la mayoría de los analistas de seguridad. En este libro explorarás el lado más oscuro de las capacidades de Python: todo, desde escribir sniffers de red, robar credenciales de correo electrónico y acceder a directorios y carpetas por la fuerza hasta crear fuzzers de mutación, ...

✅ Disponible

32,95 €

Curso Práctico con Unity 3D

Curso Práctico con Unity 3D

Cantón Nadales, David

El primer libro en español que guía el desarrollo de videojuegos con Unity, desde los fundamentos hasta la creación de builds ejecutables.Dirigido a principiantes y desarrolladores con experiencia, este libro te acompaña paso a paso, desde el uso del Unity Editor hasta la creación de videojuegos completos y optimizados. Aprenderás a manipular GameObjects, programar en C# y Visu...

✅ Disponible

29,95 €

Curso de Programacion con Rust

Curso de Programacion con Rust

Lopez, Eliezer

El lenguaje de programación Rust ha ganado popularidad en los últimos años debido a su enfoque en la seguridad y el rendimiento, y se ha convertido en una excelente opción para el desarrollo de aplicaciones críticas y sistemas de alto rendimiento. Con una comunidad en constante crecimiento y el respaldo de importantes empresas, Rust constituye una herramienta poderosa para desa...

✅ Disponible

30,95 €

Otros libros del autor

Guía de Campo de Microsoft Windows 8

Guía de Campo de Microsoft Windows 8

Menchén Peñuela, Antonio

A mediados de junio de 2012 Microsoft puso en una de sus webs, a disposición de todo el mundo, una copia de evaluación de su nuevo sistema operativo: Windows 8.El 26 de octubre de ese mismo año conocimos la versión comercial. Se trata, a fin de cuentas, de un Windows 7 al que se le ha añadido, además de una nueva interfaz (la ventana Inicio), mejoras de rendimiento, seguridad, ...

❌ Agotado

14,90 €

Domine Joomla! Manual Practico

Domine Joomla! Manual Practico

Menchén Peñuela, Antonio

Con este libro podrá aprender a convertir su PC en un servidor de páginas web. Entenderá cómo instalar y poner en funcionamiento un Sistema Gestor de Contenidos (CMS), que es el tipo de herramienta a la cual pertenece Joomla!.Dispondrá de dos vías para manejar sus páginas (o sitios) web: una sesión, llamada backend, en la que a través del Panel de Control del administrador gest...

❌ Agotado

19,90 €

Tablas Dinámicas en Excel 2010

Tablas Dinámicas en Excel 2010

Menchén Peñuela, Antonio

Los críticos de Office creen tener toda la razón en afirmar que la nueva versión 2010, respecto a la versión 2007, solo ha mejorado en el aspecto general y en dos o tres detalles más.Nada más lejos de la realidad.Entre otras novedades, la versión 2010 contiene: minigráficos, informes mejorados de tablas dinámicas, Excel Web App, mejoras para trabajar en equipo, en formato condi...

❌ Agotado

14,90 €

Tablas Dinámicas en Excel 2007

Tablas Dinámicas en Excel 2007

Menchén Peñuela, Antonio

La estructura de datos más común que existe es la tabla. Con informes y gráficos de tablas dinámicas, Excel 2007 facilita enormemente la tarea de realizar resúmenes sobre tablas extensas. De esta manera podremos analizar los datos obteniendo distintas visiones de los mismos. Por otro lado, este libro le aclarará la íntima conexión que existe entre Excel 2007 y los Gestores de B...

❌ Agotado

14,90 €