Feb 10 2020

Data Structures and Algorithm Analysis: Java Version – Clifford A. Shaffer [ULD]

Descripción:

Estudiamos estructuras de datos para que podamos aprender a escribir programas más eficientes. Pero, ¿por qué los programas deben ser eficientes cuando las computadoras nuevas son más rápidas cada año? La razón es que nuestras ambiciones crecen con nuestras capacidades. En lugar de hacer que la eficiencia sea obsoleta, la revolución moderna en el poder de cómputo y la capacidad de almacenamiento simplemente aumenta las apuestas de eficiencia a medida que intentamos tareas más complejas.

La búsqueda de la eficiencia del programa no necesita ni debe entrar en conflicto con el diseño de sonido y la codificación clara. La creación de programas eficientes tiene poco que ver con los “trucos de programación”, sino que se basa en una buena organización de la información y buenos algoritmos. No es probable que un programador que no haya dominado los principios básicos del diseño claro escriba programas eficientes. Por el contrario, las preocupaciones relacionadas con los costos de desarrollo y la mantenibilidad no deben usarse como una excusa para justificar un desempeño ineficiente. La generalidad en el diseño puede y debe lograrse sin sacrificar el rendimiento, pero esto solo se puede hacer si el diseñador comprende cómo medir el rendimiento y lo hace como parte integral del proceso de diseño e implementación. La mayoría de los programas de ciencias de la computación reconocen que las buenas habilidades de programación comienzan con un fuerte énfasis en los principios fundamentales de ingeniería de software. Luego, una vez que un programador ha aprendido los principios del diseño y la implementación claros del programa, el siguiente paso es estudiar los efectos de la organización de datos y los algoritmos en la eficiencia del programa.

Enfoque: este libro describe muchas técnicas para representar datos. Estas técnicas se presentan dentro del contexto de los siguientes principios:

Cada estructura de datos y cada algoritmo tiene costos y beneficios. Los profesionales necesitan una comprensión profunda de cómo evaluar los costos y beneficios para poder adaptarse a los nuevos desafíos de diseño. Esto requiere una comprensión de los principios del análisis de algoritmos, y también una apreciación de los efectos significativos del medio físico empleado (por ejemplo, datos almacenados en el disco frente a la memoria principal).
Relacionado con los costos y beneficios está la noción de compensaciones. Por ejemplo, es bastante común reducir los requisitos de tiempo a expensas de un aumento en los requisitos de espacio, o viceversa. Los programadores enfrentan problemas de compensación regularmente en todas las fases de diseño e implementación de software, por lo que el concepto debe arraigarse profundamente.
Los programadores deben saber lo suficiente sobre la práctica común para evitar reinventar la rueda. Por lo tanto, los programadores necesitan aprender las estructuras de datos de uso común, sus algoritmos relacionados y los patrones de diseño que se encuentran con mayor frecuencia en la programación.
Las estructuras de datos siguen las necesidades. Los programadores deben aprender a evaluar las necesidades de la aplicación primero, luego encontrar una estructura de datos con capacidades coincidentes. Hacer esto requiere competencia en los Principios 1, 2 y 3.

Datos Técnicos:

Peso: 26.7 Mb

Idioma: Español (Traducido)

Formato: PDF

Autor: Clifford A. Shaffer

Nº De Páginas: 601 Páginas

Género: Programación

Descargar:

up-load.io/4veqa99vzn13

Freddos25333


Krokers1 A compartido 1859 posts en MundoProgramas.


Mensaje Privado
Visitas

Categoria: Software Etiquetas: , , , , , , , , , , , , , ,

RSS Seguir Feed RSS Comentarios | Temas de Freddos25333

Deja un Comentario