Estructuras de datos con C++: Una perspectiva de programador. Estructuras de datos en C++


Precio:
Precio de venta$43.68

Descripción

Este es un libro para estudiantes e instructores que aman la programación en estilo orientado a objetos. Los autores entienden cómo escribir código orientado a objetos y cómo explicárselo a los estudiantes. La fuerza del libro proviene del enfoque único que hemos tenido a lo largo de su escritura, en explicar el código de manera exhaustiva y consistente. Normalmente, los libros sobre estructuras de datos y software en general, hacen un excelente trabajo explicando el algoritmo, pero de alguna manera no logran complementar el rigor del algoritmo con la claridad del código resultante. Es casi como si los diseñadores agitaran una varita y pronunciaran las palabras mágicas "abraca dabra" y el código apareciera. Hemos hecho un esfuerzo consciente para conectar los vínculos que existen naturalmente entre las diferentes fases del diseño y la implementación de estructuras de datos. El segundo desarrollo, quizás más importante, es el uso de STL o Standard Template Library en algunos textos. Los profesores experimentados que enseñan estructuras de datos están bastante divididos entre enseñar estructuras de datos diseñándolas desde cero y enseñar estructuras de datos usando STL. Cada enfoque tiene sus méritos y deméritos. Nuestro libro, aunque se adhiere al diseño de la mayoría de las estructuras de datos desde cero, también emplea STL para aquellos que quieran seguir este enfoque. Creemos que este equilibrio es muy necesario. Las estructuras de datos complejas se explican mejor en estilo orientado a objetos. El diseño orientado a objetos es independiente del lenguaje, pero su implementación se beneficia de un lenguaje que está diseñado como orientado a objetos desde cero. Los lenguajes orientados a objetos populares que están en boga hoy en día incluyen C++, Java, C# y Smalltalk. Aunque muchos libros usan C++ o Java como lenguaje de programación de implementación, en nuestra opinión, no aprovechan completamente las características orientadas a objetos disponibles en los lenguajes, sino que simplemente traducen el código de C o Pascal. Las técnicas que hemos utilizado se han explicado a fondo y se han utilizado de manera consistente en el libro de texto. Para facilitar la comprensión de nuestro enfoque para implementar estructuras de datos, hemos utilizado un patrón que contiene las siguientes características destacadas: -Definir una estructura de datos como un tipo de datos abstracto; -Proporcionar información de tipo sobre los datos que se almacenarán en la estructura; hemos utilizado plantillas para todos los datos que se almacenan en las estructuras de datos, -determinar qué errores requerirán que se lancen excepciones y escribir la jerarquía de clases de excepción; -escribir una clase base abstracta para la estructura de datos para que podamos implementarla de más de una manera, si es necesario; -determinar los campos requeridos en la clase C++ y escribir los constructores para inicializar esos campos y los destructores para eliminarlos; -escribir métodos de acceso para permitir al usuario examinar los campos; -escribir métodos de inserción y eliminación (y otros métodos si es necesario); -diseñar una clase de enumeración para la estructura de datos; -escribir un ostream

Autor: Lee Wise, Chandra N. Sekharan, Sridhar Radhakrishnan
Editorial: Srr LLC
Publicado: 29/03/2013
Páginas: 826
Tipo de encuadernación: Tapa blanda
Peso: 3.07 libras
Tamaño: 9.25h x 7.52w x 1.64d
ISBN13: 9780989095907
ISBN10: 0989095908
Categorías BISAC:
- Informática | Ciencias de la Computación

Sobre el autor
Sridhar Radhakrishnan es profesor en la Escuela de Ciencias de la Computación de la Universidad de Oklahoma, Norman, Oklahoma, desde el otoño de 1990. Antes de unirse a la Universidad de Oklahoma, completó su doctorado en Ciencias de la Computación en la Universidad Estatal de Louisiana, Baton Rouge, Louisiana. Ha impartido el curso de nivel de segundo año en Estructuras de Datos durante muchos años, lo que resultó en la creación de este libro de texto. Ha publicado ampliamente y sus publicaciones aparecen en numerosas publicaciones de IEEE y otras conferencias y revistas profesionales. Lee Wise ha sido arquitecto de software y desarrollador de análisis para MSCI, Inc., y una empresa predecesora, RiskMetrics Group, Inc., desde 1998. Su proyecto particular, escrito en C++, ha crecido desde el trabajo de un solo programador hasta el trabajo de docenas repartidas por todo el planeta, y desde un programa monolítico que se ejecuta en una sola caja hasta aplicaciones distribuidas que se ejecutan en miles de núcleos, manejando terabytes de datos y procesando millones de consultas complejas por día. Chandra N. Sekharan es profesor en el Departamento de Ciencias de la Computación de la Universidad Loyola de Chicago. Antes de unirse a la Universidad Loyola de Chicago en 1993, estuvo en el Centro de Computación Paralela, Departamento de Ciencias de la Computación de la Universidad de Florida Central, Orlando. Completó su doctorado en Ciencias Matemáticas en la Universidad de Clemson bajo la supervisión de Stephen Hedetniemi. El profesor Sekharan ha impartido muchos cursos de informática tanto a nivel de grado como de posgrado. Su enfoque reciente en la enseñanza ha sido introducir conceptos de computación paralela en el curso CS2 en Loyola. Ha publicado extensamente en conferencias de IEEE y ACM en las áreas de computación paralela, algoritmos de grafos y redes móviles.

Este título no es retornable