Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Embedded Systems Engineering Curriculum
·
Module 5
Embedded Data Structures and Algorithms
1
Implementing `memcpy` and `memmove`
Implement `memcpy` and `memmove` from scratch, correctly handling overlapping memory regions in `memmove`.
2
Lock-Free Circular Buffer: SPSC Implementation
Implement a lock-free circular buffer for a single-producer/single-consumer scenario.
3
Implementing Linux-style Intrusive Linked Lists
Implement an intrusive linked list modeled after the Linux kernel's `list_head` and `container_of` pattern.
4
Detecting Linked List Cycles: Floyd's Algorithm
Detect cycles in a linked list using Floyd's tortoise-and-hare algorithm.
5
Min-Heap Priority Queues for Embedded Systems
Implement a min-heap-based priority queue suitable for managing timers or events in an embedded system.
6
Fixed-Size Hash Tables: Linear Probing & Tombstone Deletions
Implement a fixed-size hash table using linear probing, including handling deletions with tombstone markers.
7
Fixed-Point Arithmetic (Q Notation)
Explain fixed-point representation (Q notation) and implement basic arithmetic operations (addition, subtraction, multiplication).
Heapsort: In-Place Sorting with O(1) Space
Implement in-place heapsort and analyze its guaranteed O(1) auxiliary space complexity versus quicksort's worst-case.
Previous module
CPU and System Architecture
Next module
Modern Embedded C++