Notes on Data Structures and Programming Techniques – There are two purposes to this book: to teach you to program in the C programming language, and to teach you how to choose, implement, and use data structures and standard programming techniques.
For small programs, you don’t need much in the way of data structures. But as soon as you are representing reasonably complicated data, you need some place to store it. Thinking about how you want to store and organize this data can be a good framework for organizing the rest of your program. Many programming environments will give you a rich collection of built-in data structures as part of their standard library. C does not: unless you use thirdparty libraries, any data structure you want in C you will have to build yourself.
For most data structures this will require an understanding of pointers and storage allocation, mechanisms often hidden in other languages. Understanding these concepts will give you a deeper understanding of how computers actually work, and will both let you function in minimalist environments where you don’t have a lot of support and let you understand what more convenient environments are doing under their abstraction barriers.
About the Authors
- James Aspnes is a Professor of Computer Science at Yale University.