- Spanish
- PDF
- Disponible en iOS y Android
Programacion Orientada a Objetos y Estructura de Datos a Fondo
Información del libro
Programación orientada a objetos y estructura de datos a fondo es un libro pensado para extender los conocimientos que fueron adquiridos a lo largo de los cursos de las asignaturas iniciales de programación; principalmente de Programación estructurada. La finalidad de iniciar explicando Programación Orientada a Objetos (POO) es proveer una herramienta que permita encapsular la lógica y la complejidad de aquellos algoritmos; ocultándola para no verla. Y así concentrarse en el análisis, diseño y desarrollo de algoritmos con mayor grado de complejidad. Para quienes adquirieron sus conocimientos básicos programando en C, la obra comienza explicando los conceptos principales de encapsulamiento implementándolos con C++. Pero esto es solo el comienzo, ya que el curso de programación avanzada que se propone transita por los senderos del lenguaje Java. ¿Por qué Java? Porque hoy en día, y desde hace más de 20 años, Java es el lenguaje de programación con mayor nivel de aceptación en el ámbito profesional. La mayoría de las empresas desarrollan sus aplicaciones en Java. Y, aunque aquí el foco principal estará puesto sobre la lógica algorítmica, cuando implemente estos algoritmos con Java, el lector estará adquiriendo una destreza que le permitirá incorporarse a trabajar en proyectos de desarrollo que utilicen este lenguaje.
Preguntas frecuentes
Información
Índice
- Mensaje del Editor
- Contenido
- Web de apoyo
- Prólogo
- Introducción
- 1 - Encapsulamiento a través de clases y objetos
- 1.1 Introducción
- 1.2 Clases y objetos
- 1.3 Encapsulamiento de estructuras lineales
- 1.4 El lenguaje de programación Java
- 1.5 Resumen
- 2 - Introducción al lenguaje de programación Java
- 2.1 Introducción
- 2.2 Comencemos a programar
- 2.3 Tipos de datos, operadores y estructuras de control
- 2.4 Tratamiento de cadenas de caracteres
- 2.5 Resumen
- 3 - Programación orientada a objetos
- 3.1 Introducción
- 3.2 Clases y objetos
- 3.3 Herencia y polimorfismo
- 3.4 Interfaces
- 3.5 Colecciones de objetos
- 3.6 Excepciones
- 3.7 Resumen
- 4 - Estructuras de datos lineales
- 4.1 Introducción
- 4.2 Estructuras estáticas
- 4.3 Estructuras dinámicas
- 4.4 Estructuras dinámicas en Java
- 4.5 Resumen
- 5 - Compresión de archivos mediante el algoritmo de Huffman
- 5.1 Introducción
- 5.2 El algoritmo de Huffman
- 5.3 Aplicación práctica
- 5.4 Análisis de clases y objetos
- 5.5 Interfaces e implementaciones
- 5.6 Manejo de archivos en Java
- 5.7 Clases utilitarias
- 5.8 Resumen
- 6 - Recursividad
- 6.1 Introducción
- 6.2 Conceptos iniciales
- 6.3 Otros ejemplos de recursividad
- 6.4 Permutar los caracteres de una cadena
- 6.5 Búsqueda binaria
- 6.6 Ordenamiento por selección
- 6.7 La función de Fibonacci
- 6.8 Resumen
- 7 - Árboles
- 7.1 Introducción
- 7.2 Árbol binario
- 7.4 Árbol Binario de Búsqueda
- 7.5 Árbol n-ario
- 7.6 Resumen
- 8 - Complejidad algorítmica
- 8.1 Introducción
- 8.2 Conceptos iniciales
- 8.3 Notación O grande (cota superior asintótica)
- 8.4 Cota inferior (Ω) y cota ajustada asintótica (Θ)
- 8.5 Resumen
- 9 - Algoritmos de ordenamiento
- 9.1 Introducción
- 9.2 Bubble sort (ordenamiento por burbujeo)
- 9.3 Selection sort (ordenamiento por selección)
- 9.4 Insertion sort (ordenamiento por inserción)
- 9.5 Quicksort (ordenamiento rápido)
- 9.6 Heapsort (ordenamiento por montículos)
- 9.7 Shellsort (ordenamiento Shell)
- 9.8 Binsort (ordenamiento por cajas)
- 9.9 Radix sort (ordenamiento de raíz)
- 9.10 Resumen
- 10 - Estrategia algorítmica
- 10.1 Introducción
- 10.2 Divide y conquista
- 10.3 Greedy, algoritmos voraces
- 10.4 Programación dinámica
- 10.5 Resumen
- 11 - Algoritmos sobre grafos
- 11.1 Introducción
- 11.2 Definición de grafo
- 11.3 El problema de los caminos mínimos
- 11.4 Árbol de cubrimiento mínimo (MST)
- 11.5 Resumen
- Bibliografía