# Algorithmic Thinking

## Metadata
- Author: [[Daniel Zingaro]]
- Full Title: Algorithmic Thinking
- Category: #data-structures-and-algorithms #c
## Highlights
- A data structure is a way to organize data so that desirable operations are fast. ([Location 333](https://readwise.io/to_kindle?action=open&asin=B0BZGZHK3B&location=333))
- An algorithm is a sequence of steps that solves a problem. ([Location 333](https://readwise.io/to_kindle?action=open&asin=B0BZGZHK3B&location=333))
- Sometimes we can make fast algorithms without using sophisticated data structures; other times, the right data structure can offer a significant speed boost. ([Location 334](https://readwise.io/to_kindle?action=open&asin=B0BZGZHK3B&location=334))
- Regular local variables are stored on what’s called the call stack. ([Location 383](https://readwise.io/to_kindle?action=open&asin=B0BZGZHK3B&location=383))
- Enter the static keyword. When used on a local variable, it changes the storage duration from automatic to static, which means that the variable maintains its value between function calls. ([Location 386](https://readwise.io/to_kindle?action=open&asin=B0BZGZHK3B&location=386))