datastructures-in-python
  • Home
  • Downloads & Misc-Assets
  • README
  • Navigation
  • Curriculum
    • Outline
      • General Content
      • Python-Data-Structures-Unit
    • wk17
      • Outline-w17
      • homework
      • D1-Module 01 - Python I
        • Configuring Ubuntu for Python Web Development
        • Install Python
      • D2- Module 02 - Python II
      • D3- Module 03 - Python III
      • D4-Module 04 - Python IV
    • wk18
      • Outline-W-18
      • D1- Module 01 - Number Bases and Character Encoding
      • D2- Module 02 - Hash Tables I
        • Hash Table / Hash Map In Python:
        • Hash Table Use Cases
        • Practice
      • D3-Module 03 - Hash Tables II
      • D4- Module 04 - Searching and Recursion
    • wk19
      • Outline-W-19
      • D1- Module 01 - Linked Lists
        • Homework
          • Helpful Resource
      • D2- Module 02 - Queues and Stacks
      • D3- Module 03 - Binary Search Trees
        • BST Definition:
      • D4- Module 04 - Tree Traversal
        • Tree Traversals (Inorder, Preorder and Postorder)
    • wk20
      • Outline-W-20
      • D1-Graphs I
      • D2-Graphs 2
      • DFS
      • D4
  • Utilities
    • Utilites
      • Python Libraries
      • YouTube
      • Code Lab Notebook Embeds From Lecture
    • Code lab Notebooks
    • Repl.IT
      • Trinket
  • Abstract Data Structures
    • Algorithms
      • Algo-Resources
        • List-Of-Solutions-To-Common-Interview-Questions
      • Dijkstra's algorithm
      • Calculate a Factorial With Python - Iterative and Recursive
      • DFS
      • BFS
        • BFS Examples
      • Palendrome
    • Data Structures Overview
      • General Data Structures Notes
        • DS-Explained-Simple
      • Untitled
      • Algorithms
      • Dictionary
    • Abstract Data Structures:
      • Array
        • Extra-Array
        • Array Practice
      • Binary Search
      • Binary Tree
        • Binary Tree Explained
        • Find the maximum path sum between two leaves of a binary tree
      • Binary Search Tree
        • BST Explained
        • BST Insert
        • BST-Largest-Sub-Tree
      • Exotic
        • Tire
        • Dynamic Programming
      • Graphs
        • Overflow Practice Problems
        • Graphs Explained
        • Earliest Ancestor
        • _Mini Graph-Projects
          • # Social Graph
          • number of 1 islands
          • Searching and Generating Graphs
        • Graph FAQ
          • Graph DFS
        • Connected Components
        • Randomness
        • Graph BFS
        • Topological Sort
      • Hash Table
        • Hashmap or Hash tables
        • Hash Table and HashMap in Python
      • Heap
        • Heap Examples
      • String
      • Map
        • Examples
      • Queue
        • Queue Continued...
        • Queue Sandbox
        • Dequeue
      • Tree
        • In Order Traversal
        • Tree Equal ?
        • Ternary-search-trees
        • Red_Black Tree
        • Tree Mirror:
        • Tree Traversal
      • Recursion
        • Recursion Explained
          • Recursion Examples
      • Linked List
        • Linked List Background
        • Double Linked List
        • List Example
        • Examples (LL) continued
        • List Operations
      • Set
        • Set
        • Set Intersection Union
        • Disjoint Set
      • Sorting
        • In JavaScript
        • Merge Sort
        • Iterative Sorting
        • Recursive Sorting
        • Graph Topological Sort
        • SelectionSort
        • Quick Sort
        • Merge Sort
        • Insertion Sort
      • Stack
        • Stack Continued
        • Stack Part 3
      • Searching
        • Binary Search
        • Searching & Sorting Computational Complexity (JS)
  • practice
    • GCA Sprint Prep:
      • Practice Problems
      • Code Signal CGA Sprint Resources
      • CGA-Sprint Prep
    • Supplemental Practice:
      • Practice
      • JavaScript Algorithms
      • Industry Standard Algorithms
        • Interview Practice Resources
        • Write a Program to Find the Maximum Depth or Height of a Tree
      • Random Examples
      • Prompts
      • JS_BASICS
  • Resources
    • Python Cheat Sheet
      • Cheatsheet-v2
      • List Of Python Cheat Sheets
    • Youtube
    • PDF Downloads
    • Intro 2 Python
    • Dictionaries
      • Dictionaries Continued
    • Python VS JavaScript
    • Misc. Resources
    • Things To Internalize:
      • Functions
    • Intro To Python w Jupyter Notebooks
    • Calculating Big O
    • Useful Links
      • Awesome Python
      • My-Links
      • Beginners Guide To Python
  • Docs
    • Docs
      • Strings
        • Strings Continued
      • Touple
      • Values Expressions & Statments
      • Dictionaries, sets, files, and modules
        • Modules
      • Built-in Types
      • Built In Functions
        • Zip Function
      • Functions
      • Classes and objects
        • Inheritance
        • Classes
          • Python Objects & Classes
          • index
      • Dictionaries
      • Conditionals and loops
      • Lists
        • Reverse A List
        • Python Data Structures
        • More On Lists
        • Examples
          • More-Examples
        • List Compehensions
      • Basic Syntax
      • String-Methods
    • Queue & Stacks
  • quick-reference
    • My Medium Articles
    • Free Python Books
    • WHY Python?
    • Debugging
    • Python Snippets
    • Python3 Regex
    • Python Module Index:
      • Requests Module
    • Creating Python Modules
    • Useful Info
    • Python Glossary
    • Python Snippets
  • MISC
    • Built-in Methods & Functions
    • Data Structures Types
    • Math
    • Unsorted Examples
    • Outline
    • About Python
      • Python VS JavaScript
      • Python Modules & Python Packages
      • Misc
      • Python's Default Argument Values and Lists
      • SCRAP
  • Interview Prep
    • Interview Resources
      • By Example
        • Algo-Prep
      • Permutation
      • How to Write an Effective Resume of Python Developer
      • Interview Checklist
      • 150 Practice Problems & Solutions
  • Installations Setup & Env
    • python-setup
    • Installing Python Modules
    • Set Up Virtual Enviornment
  • Aux-Exploration
    • Related Studies
      • Self-Organizing Maps: Theory and Implementation in Python with NumPy
      • List Directory Contents
      • Employee Manager
      • OS Module
      • server-side-scripting
      • Web Scraping
      • Reading and Writing to text files in Python
      • General Data Structures
      • Touple
      • How to round Python values to whole numbers?
      • Python Array Module
      • Data Structures In JavaScript
      • Dunder Methods
      • Python GitHub API
      • JS-Event Loop
      • JavaScript Event Loop
      • Manipulating Files & Folders
  • experiments
    • Untitled
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Abstract Data Structures
  2. Algorithms

Algo-Resources

PreviousAlgorithmsNextList-Of-Solutions-To-Common-Interview-Questions

Last updated 3 years ago

Was this helpful?

Abstract Data Structures

practice

Data Structures & Algorithms Resource List Part 1

Guess the author of the following quotes:

Data Structures & Algorithms Resource List Part 1

Guess the author of the following quotes:

Talk is cheap. Show me the code.

Software is like sex: it’s better when it’s free.

Microsoft isn’t evil, they just make really crappy operating systems.

Here’s some more:

Algorithms:

### Update:

 — Solved algorithms and data structures problems in many languages.

() ()

 — Interactive online platform that visualizes algorithms from code.

()

 — Stable non-recursive merge sort named quadsort.

 — Algorithms you should know before system design.

()

()

()

()

()

() ()

() ()

 — Stable adaptive hybrid radix / merge sort.

 — Bestiary of evolutionary, swarm and other metaphor-based algorithms.

 — Decomposing programs into a system of algorithmic components. () () ()

 — C/C++ algorithms/DS problems.

()

 — Introduces elementary algorithms and data structures. Includes side-by-side comparisons of purely functional realization and their imperative counterpart.

()

 — Visualization and “Audibilization” of Sorting Algorithms. ()

### Data Structures:

()

()

()

()

 — Provide a high-quality open content data structures textbook that is both mathematically rigorous and provides complete implementations. ()

()

 — Low-latency, cloud-native KVS.

() ()

()

()

 — Master JavaScript and Data Structures.

()

 — Nonblocking concurrent data structures are an increasingly valuable tool for shared-memory parallel programming.

 — High-performance multicore-scalable data structures and benchmarks. ()

 — Visual catalogue + story of morphisms displayed across computational structures.

()

()

()

 — Fast, reliable, simple package for creating and reading constant databases.

 — Learned indexes that match B-tree performance with 83x less space. () ()

Algorithms
Dijkstra's algorithm
Calculate a Factorial With Python - Iterative and Recursive
DFS
BFS
Palendrome
Data Structures Overview
General Data Structures Notes
DS-Explained-Simple
Untitled
Algorithms
Dictionary
Abstract Data Structures:
Array
Extra-Array
Array Practice
Binary Search
Binary Tree
Binary Tree Explained
Find the maximum path sum between two leaves of a binary tree
Binary Search Tree
BST Explained
BST Insert
Exotic
Tire
Dynamic Programming
Graphs
Overflow Practice Problems
Graphs Explained
Earliest Ancestor
_Mini Graph-Projects
# Social Graph
number of 1 islands
Searching and Generating Graphs
Graph FAQ
Graph DFS
Connected Components
Randomness
Graph BFS
Topological Sort
Hash Table
Hashmap or Hash tables
Hash Table and HashMap in Python
Heap
Heap Examples
String
Map
Examples
Queue
Queue Continued...
Queue Sandbox
Dequeue
Tree
In Order Traversal
Tree Equal ?
Ternary-search-trees
Red_Black Tree
Tree Mirror:
Tree Traversal
Recursion
Recursion Explained
Recursion Examples
Linked List
Linked List Background
Double Linked List
List Example
Examples (LL) continued
List Operations
Set
Set
Set Intersection Union
Disjoint Set
Sorting
In JavaScript
Merge Sort
Iterative Sorting
Recursive Sorting
Graph Topological Sort
SelectionSort
Quick Sort
Merge Sort
Insertion Sort
Stack
Stack Continued
Stack Part 3
Searching
Binary Search
Searching & Sorting Computational Complexity (JS)
GCA Sprint Prep:
Practice Problems
Code Signal CGA Sprint Resources
CGA-Sprint Prep
Supplemental Practice:
JavaScript Algorithms
Industry Standard Algorithms
Interview Practice Resources
Write a Program to Find the Maximum Depth or Height of a Tree
Random Examples
Prompts
JS_BASICS
The Framework for Learning Algorithms and intense problem solving exercises
Algs4: Recommended book for Learning Algorithms and Data Structures
An analysis of Dynamic Programming
Dynamic Programming Q&A — What is Optimal Substructure
The Framework for Backtracking Algorithm
Binary Search in Detail: I wrote a Poem
The Sliding Window Technique
Difference Between Process and Thread in Linux
Some Good Online Practice Platforms
Dynamic Programming in Details
Dynamic Programming Q&A — What is Optimal Substructure
Classic DP: Longest Common Subsequence
Classic DP: Edit Distance
Classic DP: Super Egg
Classic DP: Super Egg (Advanced Solution)
The Strategies of Subsequence Problem
Classic DP: Game Problems
Greedy: Interval Scheduling
KMP Algorithm In Detail
A solution to all Buy Time to Buy and Sell Stock Problems
A solution to all House Robber Problems
4 Keys Keyboard
Regular Expression
Longest Increasing Subsequence
The Framework for Learning Algorithms and intense problem solving exercises
Algs4: Recommended book for Learning Algorithms and Data Structures
Binary Heap and Priority Queue
LRU Cache Strategy in Detail
Collections of Binary Search Operations
Special Data Structure: Monotonic Stack
Special Data Structure: Monotonic Stack
Design Twitter
Reverse Part of Linked List via Recursion
Queue Implement Stack/Stack implement Queue
My Way to Learn Algorithm
The Framework of Backtracking Algorithm
Binary Search in Detail
Backtracking Solve Subset/Permutation/Combination
Diving into the technical parts of Double Pointers
Sliding Window Technique
The Core Concept of TwoSum Problems
Common Bit Manipulations
Breaking down a Complicated Problem: Implement a Calculator
Pancake Sorting Algorithm
Prefix Sum: Intro and Concept
String Multiplication
FloodFill Algorithm in Detail
Interval Scheduling: Interval Merging
Interval Scheduling: Intersections of Intervals
Russian Doll Envelopes Problem
A collection of counter-intuitive Probability Problems
Shuffle Algorithm
Recursion In Detail
How to Implement LRU Cache
How to Find Prime Number Efficiently
How to Calculate Minimium Edit Distance
How to use Binary Search
How to efficiently solve Trapping Rain Water Problem
How to Remove Duplicates From Sorted Array
How to Find Longest Palindromic Substring
How to Reverse Linked List in K Group
How to Check the Validation of Parenthesis
How to Find Missing Element
How to Find Duplicates and Missing Elements
How to Check Palindromic LinkedList
How to Pick Elements From an Infinite Arbitrary Sequence
How to Schedule Seats for Students
Union-Find Algorithm in Detail
Union-Find Application
Problems that can be solved in one line
Find Subsequence With Binary Search
Difference Between Process and Thread in Linux
You Must Know About Linux Shell
You Must Know About Cookie and Session
Cryptology Algorithm
Some Good Online Practice Platforms
100 days of algorithms
Algorithms
Algorithms by Jeff Erickson
Code
HN
Top algos/DS to learn
Some neat algorithms
Mathematical Proof of Algorithm Correctness and Efficiency (2019)
Algorithm Visualizer
Algorithms for Optimization book
Collaborative book on algorithms
Code
Algorithms in C by Robert Sedgewick
Algorithm Design Manual
MIT Introduction to Algorithms course (2011)
How to implement an algorithm from a scientific paper (2012)
Quadsort
System design algorithms
Algorithms Design book
Think Complexity
All Algorithms implemented in Rust
Solutions to Introduction to Algorithms book
Code
Maze Algorithms (2011)
HN
Algorithmic Design Paradigms book
Code
Words and buttons Online Blog
Code
Algorithms animated
Cache Oblivious Algorithms (2020)
HN
You could have invented fractional cascading (2012)
Guide to learning algorithms through LeetCode
Code
HN
How hard is unshuffling a string?
Optimization Algorithms on Matrix Manifolds
Problem Solving with Algorithms and Data Structures
HN
PDF
Algorithms implemented in Python
Algorithms implemented in JavaScript
Algorithms & Data Structures in Java
Wolfsort
Evolutionary Computation Bestiary
Elements of Programming book
Review
HN
Lobsters
Competitive Programming Algorithms
CPP/C
How to design an algorithm (2018)
CSE 373 — Introduction to Algorithms, by Steven Skiena (2020)
Computer Algorithms II course (2020)
Improving Binary Search by Guessing (2019)
The case for a learned sorting algorithm (2020)
HN
Elementary Algorithms
Combinatorics Algorithms for Coding Interviews (2018)
Algorithms written in different programming languages
Web
Solving the Sequence Alignment problem in Python (2020)
The Sound of Sorting
Web
Miniselect: Practical and Generic Selection Algorithms (2020)
The Slowest Quicksort (2019)
Functional Algorithm Design (2020)
Algorithms To Live By — Book Notes
Numerical Algorithms (2015)
Using approximate nearest neighbor search in real world applications (2020)
In search of the fastest concurrent Union-Find algorithm (2019)
Computer Science 521 Advanced Algorithm Design
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
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
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
Persistent data structures thanks to recursive type aliases (2019)
Log-Structured Merge-Trees (2020)
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
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)
Scal
Web
Hyperbolic embedding implementations
Morphisms of Computational Constructs
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
PGM-index
HN
Code
Structural and pure attributes
Cache-Tries: O(1) Concurrent Lock-Free Hash Tries (2018)