https://github.com/1st/algorithms
Algorithms and Data Structures
https://github.com/1st/algorithms
algorithms coding-interviews data-structures interview python
Last synced: about 1 month ago
JSON representation
Algorithms and Data Structures
- Host: GitHub
- URL: https://github.com/1st/algorithms
- Owner: 1st
- License: mit
- Created: 2016-09-09T07:57:04.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-11-02T11:46:21.000Z (5 months ago)
- Last Synced: 2025-11-02T13:19:07.327Z (5 months ago)
- Topics: algorithms, coding-interviews, data-structures, interview, python
- Homepage: https://google.com
- Size: 127 KB
- Stars: 7
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Algorithms and Data Structures
This repository is a lightweight book for refreshing core concepts ahead of technical interviews. Each chapter focuses on a single idea, demonstrates it with Python, and closes with interview-ready checkpoints.
## How to use this guide
- **Warm up** with Part 01 to rebuild intuition before diving into problem drills.
- **Refer back** to the data-structure and appendix chapters when you need a quick reminder during practice.
- **Take notes** inside each chapter—treat this as a living workbook tailored to your learning style.
## Structure
### 01. Foundations of Algorithms
- [01 · Introduction and Motivation](01.%20Foundations%20of%20Algorithms/01-introduction-and-motivation.md)
- [02 · How Computers Execute Code](01.%20Foundations%20of%20Algorithms/02-how-computers-execute-code.md)
- [03 · Where Algorithms Show Up](01.%20Foundations%20of%20Algorithms/03-where-algorithms-show-up.md)
- [04 · Complexity Basics](01.%20Foundations%20of%20Algorithms/04-complexity-basics.md)
- [05 · Math Toolkit for Algorithms](01.%20Foundations%20of%20Algorithms/05-math-toolkit.md)
### 02. Core Data Structures
- [01 · Data Structures Overview](02.%20Core%20Data%20Structures/01-overview.md)
- Linear Structures
- [02 · Arrays and Dynamic Arrays](02.%20Core%20Data%20Structures/02-arrays-and-dynamic-arrays.md)
- [03 · Linked Lists](02.%20Core%20Data%20Structures/03-linked-lists.md)
- [04 · Stacks and Queues](02.%20Core%20Data%20Structures/04-stacks-and-queues.md)
- Hash-Based Structures
- [05 · Hash Tables and Maps](02.%20Core%20Data%20Structures/05-hash-tables-and-maps.md)
- [06 · Sets and Hashing Patterns](02.%20Core%20Data%20Structures/06-sets-and-hashing-patterns.md)
- [07 · Hash Collision Strategies](02.%20Core%20Data%20Structures/07-hash-collision-strategies.md)
- [08 · Bloom Filter Primer](02.%20Core%20Data%20Structures/08-bloom-filter-primer.md)
- Trees
- [09 · Binary Trees Fundamentals](02.%20Core%20Data%20Structures/09-binary-trees-fundamentals.md)
- [10 · Binary Search Trees](02.%20Core%20Data%20Structures/10-binary-search-trees.md)
- [11 · Balanced Search Trees](02.%20Core%20Data%20Structures/11-balanced-search-trees.md)
- [12 · Tries and Prefix Trees](02.%20Core%20Data%20Structures/12-tries-and-prefix-trees.md)
- [13 · B-Trees and Variants](02.%20Core%20Data%20Structures/13-b-trees-and-variants.md)
- Graphs
- [14 · Graph Representations](02.%20Core%20Data%20Structures/14-graph-representations.md)
- [15 · Graph Traversal Patterns](02.%20Core%20Data%20Structures/15-graph-traversal-patterns.md)
- [16 · Weighted Graphs and Shortest Paths](02.%20Core%20Data%20Structures/16-weighted-graphs-and-shortest-paths.md)
- Heaps & Priority Queues
- [17 · Binary Heaps](02.%20Core%20Data%20Structures/17-binary-heaps.md)
- [18 · Heap Variants and Priority Queues](02.%20Core%20Data%20Structures/18-heap-variants-and-priority-queues.md)
- Advanced Topics
- [19 · Union-Find (Disjoint Set Union)](02.%20Core%20Data%20Structures/19-union-find-disjoint-set.md)
- [20 · Skip Lists](02.%20Core%20Data%20Structures/20-skip-lists.md)
- [21 · Bloom Filter Deep Dive](02.%20Core%20Data%20Structures/21-bloom-filter-deep-dive.md)
- [22 · LRU Caches](02.%20Core%20Data%20Structures/22-lru-caches.md)
### 03. Algorithmic Techniques
- [01 · Recursion and Backtracking](03.%20Algorithmic%20Techniques/01-recursion-and-backtracking.md)
- [02 · Divide and Conquer](03.%20Algorithmic%20Techniques/02-divide-and-conquer.md)
- [03 · Sorting and Searching](03.%20Algorithmic%20Techniques/03-sorting-and-searching.md)
- [04 · Greedy Strategies](03.%20Algorithmic%20Techniques/04-greedy-strategies.md)
- [05 · Dynamic Programming](03.%20Algorithmic%20Techniques/05-dynamic-programming.md)
- [06 · Graph Traversal and Pathfinding](03.%20Algorithmic%20Techniques/06-graph-traversal-and-pathfinding.md)
- [07 · Canonical Problem Walkthroughs](03.%20Algorithmic%20Techniques/07-canonical-problem-walkthroughs.md)
- [08 · Review Checklists and Quick Guides](03.%20Algorithmic%20Techniques/08-review-checklists-and-guides.md)
### 04. Interview Practice Playbook
- [01 · Problem-Solving Frameworks and Communication](04.%20Interview%20Practice%20Playbook/01-problem-solving-frameworks.md)
- [02 · Progressive Practice Plan](04.%20Interview%20Practice%20Playbook/02-progressive-practice-plan.md)
- [03 · Post-Interview Retrospectives](04.%20Interview%20Practice%20Playbook/03-post-interview-retrospectives.md)
_Use the playbook to prepare before, during, and after interview loops: follow the Solve→Code→Validate framework, schedule practice with the four-week plan, and record learnings with the retrospective template._
### 05. Appendices
- [01 · Glossary of Terms and Notation](05.%20Appendices/01-glossary.md)
- [02 · Big-O Cheat Sheet](05.%20Appendices/02-big-o-cheat-sheet.md)
- [03 · Resources and Tools](05.%20Appendices/03-resources-and-tools.md)
## Contributing
Before adding or editing content, read [AGENTS.md](AGENTS.md) for the project layout, writing conventions, and review checklist.