From the review |
In general about book
This book is an attempt to present basic data structures and their use in development of software systems. It is illustrated with memory representations of all described structures and contains complete program code implementing their functionality in C++. Every chapter also contains questions for testing knowledge and understanding of the described structure and lab assignments.
This is a “sister” book to Lab Manual for Data Structures Course Using Java, from the same authors, but uses C++ as the basis language instead of Java. This book maintains the same general structure as the previous, so that Computer Science, Software Engineering, Computer Engeeniering and Information Technology programs that teach that structures in both C++ and Java can share the same core syllabus, whith one course using the previous and the other using this book.
Chapter content
This book is organized into seven chapters followed by section with References:
Chapter 1, Introduction to C++, introduces briefly some concepts of the programming language C++, such as templates and exceptions, assuming that the students are familiar with the programming language C++.
Chapter 2, Arrays, contains definition of arrays, and descriptions of dynamic arrays, multidimensional arrays and matrices, followed by complete program code implementing their functionality in C++.
Chapter 3, Linked lists, contains definition of linked lists, and descriptions of singly and doubly linked lists as well as skip lists, followed by complete program code implementing their functionality in C++.
Chapter 4, Stack, Queue and Deque, contains definition of those structures and their static (as arrays) and dynamic (as linked lists) representations, followed by complete program code implementing static representations of stack, queue and deque in C++.
Chapter 5, Hash and Scatter Tables, contains definition of hash and scatter tables, followed by complete program code implementing chained hash table, chained scatter table and scatter table with open addressing in C++.
Chapter 6, Binary Trees, contains definition of binary trees, ordered binary tree (search tree) and heaps (maxheap and minheap), followed by program code implementing basic functionality in C++.
Chapter 7, Graphs, contains definition of graph, and its static (as adjacency matrix) and dynamic (as linked lists) representation, followed by program code implementing basic functionality in C++.
All chapters are illustrated with memory representations of described structures and their functionality. Also, at the end of each chapter there are questions for checking students knowledge and understanding of the structure, and programming assignments for lab practicing. More serious programming problems are proposed in Project section of each chapter.
Useful book
This book was written primarily for students and provides necessary information for preparation and performing of Data Structures laboratory exercises in C++. Numerous of illustrations of basic data structures and complete program code implementing their basic functionality are useful not only for lab practicing, but also for better understanding of the matter and preparing written and oral exams.
Our recommendation is that this book is useful as manual for lab exercises, but also as an auxiliary book for courses concerning data structures and programming.
|