Course
Data Structures & Algorithms
Big-O, ring buffers, linked lists, hash tables, state machines, search and sort — through the embedded lens of fixed memory and no heap.
4h 13m total11 lessonsBeginner friendly
Get started
Enroll to track your progress and unlock the lesson shell.
- Progress tracked per lesson
- Course shows up in your dashboard
- Bookmarks, notes & more (coming soon)
Lesson Content
0/11 done- 11Time & Space ComplexityBig-O describes how cost grows with input size, and on an MCU you also care about the constants it hides, worst-case determinism (WCET), and the space-time tradeoff.22 min
- 22Arrays & Memory LayoutContiguous storage is why arrays give O(1) indexing and why row-major traversal is cache-friendly, plus array-of-structs vs struct-of-arrays for embedded data.22 min
- 33Ring BuffersThe fixed-memory FIFO behind every UART driver: head and tail indices wrapping a static array, O(1) push/pop, and the full-vs-empty trick, plus the lock-free single-producer/consumer pattern.25 min
- 44Linked ListsNodes chained by pointers: O(1) splice anywhere, O(n) search and no random access, and how embedded does them without a heap via static node pools and intrusive lists.25 min
- 55Stacks & QueuesLIFO stacks and FIFO queues: the two access disciplines behind the call stack, expression evaluation, and ISR-to-main event passing, and how to back each with fixed memory.22 min
- 66Hash TablesO(1)-average keyed lookup by mapping keys to array slots: collisions, load factor, and why open addressing into a fixed array beats chaining when you have no heap.25 min
- 77Static vs Dynamic AllocationHow to give data structures memory on a constrained device: static arrays, fixed-block pools, and arena allocators, the O(1), fragmentation-free alternatives to general malloc.22 min
- 88Lookup Tables & PrecomputationTrade memory for time: precompute expensive results into a table and replace an O(k) runtime computation with an O(1) array read, the space-time tradeoff that powers DSP, trig, and CRC.20 min
- 99Finite State MachinesOne state at a time, transitions on events: the structure behind protocol parsers, button debouncers, and comms stacks, implemented as a switch or a transition table.25 min
- 1010Linear & Binary SearchO(n) linear scan works on anything; O(log n) binary search needs sorted data and gives deterministic worst-case timing, plus the overflow and off-by-one bugs that haunt it.20 min
- 1111Sorting BasicsThe O(n²) simple sorts vs the O(n log n) fast ones, and why on embedded the simple, in-place insertion sort often beats the asymptotically-better choice at small n.25 min
Stay consistent, achieve mastery!
Complete more lessons to level up your skills.