![](https://d3qjle651ffvx1.cloudfront.net/brioche/chapter/data-structures-bAPphw.png)
4.2 Algorithms and Data Structures
The fundamental toolkit for the aspiring computer scientist or programmer.
What are Data Structures?
Allocating Memory
Records in Memory
Pointers to Pointers
Linked Lists
Timing Programs with a Stopwatch
Counting Operations
Best, Worst, and Average Case
Comparing Algorithms
Understanding Big O
The Mathematics of Big O
Running Time
Course description
Storing and manipulating data is a fundamental part of computer science, and every programming language provides a few simple ways of doing it. Programmers are then free to use these building blocks to design and implement data structures, special-purpose tools for storing data in particular ways.
Topics covered
- Data structures
- Records (or structs)
- Memory allocation
- Memory aliasing
- Pointers
- Linked lists
- Running time
- Big-O notation
- Best, worst, and average case analysis
Prerequisites and next steps
This course assumes understanding of the basics of algorithms, as well as familiarity with variables, loops, conditionals, and arrays.
Up next
5.1 Introduction to Neural Networks
Delve into the inner machinery of neural networks to discover how these flexible learning tools actually work.
Jump ahead