# Data structures

Data Structures and Algorithms in Go is a good list.

## Notes

- The basic building block is a linked list and most structures are built using these. Depending on how the data structure is set up and used, it can be a queue, stack, tree, etc.
- Data structures are the basis of what you start off with for any program. The key is to understand the domain you want to model. It's hardly unique to FAANG.

## Links

- Data Structures and Algorithms implementation in Go
- Which algorithms/data structures should I “recognize” and know by name?
- Dictionary of Algorithms and Data Structures
- Phil’s Data Structure Zoo
- The Periodic Table of Data Structures (HN)
- Data Structure Visualizations (HN) (HN)
- Data structures to name-drop when you want to sound smart in an interview
- On lists, cache, algorithms, and microarchitecture (2019)
- Topics in Advanced Data Structures (2019) (HN)
- CS166 Advanced DS Course (2019)
- Advanced Data Structures (2017) (HN)
- Write a hash table in C
- Python Data Structures and Algorithms
- HAMTs from Scratch (2018)
- JavaScript Data Structures and Algorithms
- Implementing a Key-Value Store series
- Open Data Structures - Provide a high-quality open content data structures textbook that is both mathematically rigorous and provides complete implementations. (Code)
- A new analysis of the false positive rate of a Bloom filter (2009)
- Ideal Hash Trees
- RRB-Trees: Efficient Immutable Vectors
- Some data structures and algorithms written in OCaml
- Let’s Invent B(+)-Trees (HN)
- Anna - Low-latency, cloud-native KVS.
- Persistent data structures thanks to recursive type aliases (2019)
- Understanding LSM trees: What powers write-heavy databases (2020) (HN)
- Bloom Filters for the Perplexed (2017)
- Understanding Bloom Filters (2020)
- Dense vs. Sparse Indexes (2020)
- Data Structures and Algorithms Problems
- Data Structures & Algorithms I Actually Used Working at Tech Companies (2020) (Lobsters) (HN)
- Let’s implement a Bloom Filter (2020) (HN)
- Data Structures Part 1: Bulk Data (2019) (Lobsters)
- Data Structures Explained
- Introduction to Cache-Oblivious Data Structures (2018)
- The Daily Coding newsletter - Master JavaScript and Data Structures.
- Lectures Note for Data Structures and Algorithms (2019)
- Mechanically Deriving Binary Tree Iterators with Continuation Defunctionalization (2020)
- Segment Tree data structure
- Structure of a binary state tree (2020)
- Introductory data structures and algorithms
- Applying Textbook Data Structures for Real Life Wins (2020) (HN)
- Michael Scott — Nonblocking data structures lectures (2020) - Nonblocking concurrent data structures are an increasingly valuable tool for shared-memory parallel programming.
- Scal - High-performance multicore-scalable data structures and benchmarks. (Web)
- Hyperbolic embedding implementations
- Morphisms of Computational Constructs - Visual catalogue + story of morphisms displayed across computational structures.
- What is key-value store? (build-your-own-x) (2020)
- Lesser Known but Useful Data Structures
- Using Bloom filters to efficiently synchronize hash graphs (2020)
- Bloom Filters by Example (Code)
- Binary Decision Diagrams (HN)
- 3 Steps to Designing Better Data Structures (2020)
- Sparse Matrices (2019) (HN)
- Algorithms & Data Structures in C++
- Fancy Tree Traversals (2019)
- The Robson Tree Traversal (2019)
- Data structures and program structures
- cdb - Fast, reliable, simple package for creating and reading constant databases.
- PGM-index - Learned indexes that match B-tree performance with 83x less space. (HN) (Code)
- Structural and pure attributes
- Cache-Tries: O(1) Concurrent Lock-Free Hash Tries (2018)
- Lockless algorithms for mere mortals (2020)
- Notes on Data Structures and Programming Techniques (2021)
- Memory, Cache Locality, and why Arrays are Fast (Data Structures and Optimization)
- Implicit In-order Forests: Zooming a billion trace events at 60fps (2021) (Lobsters)
- Bloom filters explained in a single image (2021) (HN)
- Traversing nested data-structures in various languages (HN)
- Teaching Bloom Filters new tricks (2020)
- Detailed Design of a Lock-Free Queue (2014)
- Finding the Median of 2 Sorted Arrays in Logarithmic Time (2019)
- What is a Merkle Tree? (2020)
- Bloom Filters - Much, much more than a space efficient hashmap! (2020)
- Ribbon filter: practically smaller than Bloom and Xor (2021) (Article)
- B-tree Path Hints (HN)
- How Multiplayer Data Structures Work (2021)
- Classical Data Structures That Can Outperform Learned Indexes (2018) (Lobsters) (HN)
- B-Trees: More Than I Thought I'd Want to Know (2021)
- Using Tree Structures with Pagination to build Folder Navigation (2021)
- Fenwick Trees (2021)
- B-Trees and Databases (2021) - How B-Trees power your database in handling data-intensive workloads.
- Lock-Free Data Structures (2007)
- Monoids and Finger Trees
- Implicit Heaps
- Word-Aligned Bloom Filters (2021) (HN)
- Experimenting with column- and row-oriented data structures (2021)
- Real time Editing of Ordered Sequences (2017)
- Implementing Fractional Indexing (2020) (Tweet)
- A Common-Sense Guide to Data Structures and Algorithms Book (2017)
- Array Layouts for Comparison-Based Searching (2015) (Lobsters)
- The Great Tree-List Recursion Problem (HN)
- On Dynamic Succinct Graph Representations (2020) (Code)
- When are enums not a code smell? (HN)
- Data Structures - Full Course Using C and C++ (2021)
- How do arrays work? (2021)
- An efficient circular queue of strings (2018)
- Data Structures in JavaScript - Illustrated Data Structures — Video Series.
- Static B-Trees: A data structure for faster binary search (HN)
- Data Structures in the Fleet Editor (2022) (HN)
- Segment Trees
- Functional Queues
- Data Structures and Algorithms in Go
- Roaring Bitmaps - Compressed bitmaps. They can be hundreds of times faster.
- Maximum Flow and Minimum-Cost Flow in Almost-Linear Time (2022) (HN)
- Are tagged unions overrated? (2021)
- Understanding Bloom filters by building one (HN)
- Data Structure Algorithms Low Level Design and High Level Design collection of resources
- The true cost of linked lists (2022) (HN)
- Data Structure Visualizer (Code)
- Ask HN: What are some cool but obscure data structures you know about? (2022)
- Let's Talk SkipList (2022) (HN)
- A primer on Roaring bitmaps: what they are and how they work (2022)
- Using bitmaps to run interactive retention analyses over billions of events for less than $100/mo (2022)
- Data Structure Sketches (HN)
- Lectures in Advanced Data Structures (2021)
- SingleStore’s Skiplist Indexes
- Ask HN: Books on designing disk-optimized data structures? (2022)
- In defense of linked lists (2022) (HN) (Lobsters)
- Fast Functional Lists, Hash-Lists, Deques and Variable Length Arrays (2002) (HN)
- Challenging algorithms and data structures every programmer should try (2022)
- Data Structures & Algorithms for Coding Interview
- YClass - Program that allows you to inspect and recreate data structures of other processes.
- Efficient Data Structures for Tamper-Evident Logging (2009) (Lobsters)
- hg64: a 64-bit histogram data structure (2022)
- This Data Structure could be used for Autocomplete (2021)
- Ask HN: What is new in Algorithms / Data Structures these days? (2023)
- CS 61B Data Structures, Spring 2023 UC Berkeley (HN)
- An Introduction to Bε-trees and Write-Optimization (2015)
- High-performance tidy trees visualization (2023)
- A compressed indexable bitset (2023) (HN)
- The most elegant search data structure | (a,b)-trees
- Treemaps are awesome (Lobsters) (HN)
- The Taming of the B-Trees (2021)
- Grokking AVL and RAVL Trees (2023) (HN)
- Half-Edge Data Structures (2019) (Lobsters) (HN)
- Fibonacci Heaps or "How to invent an extremely clever data structure" (2022)
- Mastering Bloom Filters: Big Data Processing in Python (2023)