Preface
Published online by Cambridge University Press: 10 November 2016
Summary
After having mastered some high-level programming language and acquired knowledge in basic mathematics, it is time for a shift of attention. Instead of concentrating on the technical aspects of how to instruct a computer to perform a certain task, we switch to the more challenging question of what in fact should be done to solve a given problem. The aim of this book on data structures is to start acquainting the reader with the theoretical side of the art of writing computer programs. This may be considered as a first step in getting familiar with a series of similar fields, such as algorithms, complexity, and computability, that should be learned in parallel to improve practical programming skills.
The book is the result of several decades of teaching experience in data structures and algorithms. In particular, I have taught a course on Data Structures more than 30 times. The book is self-contained and does not assume any prior knowledge of data structures, just a comprehension of basic programming and mathematics tools generally learned at the very beginning of computer science or other related studies. In my university, the course is given in the second semester of the first year of the BSc program, with a prerequisite of Discrete Mathematics and Introduction to Programming, which are first-semester courses. The format is two hours of lecture plus two hours of exercises, led by a teaching assistant, per week.
I have tried to reproduce my oral teaching style in writing. I believe in associative learning, in which one topic leads to another, related one. Although this may divert attention from the central, currently treated subject, it is the cumulative impact of an entire section or chapter that matters. There was no intention to produce a comprehensive compendium of all there is to know about data structures but rather to provide a collection of what many could agree to be its basic ingredients and major building blocks, on which subsequent courses on algorithms could rely. In addition, many more advanced topics are mentioned.
- Type
- Chapter
- Information
- Basic Concepts in Data Structures , pp. xi - xiiPublisher: Cambridge University PressPrint publication year: 2016