Learn in Public: Data Structures & Algorithms in Python

codebalance

Kat šŸ†šŸ¾

Posted on November 20, 2019

Learn in Public: Data Structures & Algorithms in Python

I am currently working on becoming more proficient in Data Structures and Algorithms - both for the sake of interviewing and to become a better engineer.

In the following weeks and months, I'll share with you what I've learned along my journey. The content will include:

  • The theory and application of Data Structures & Algorithms.
  • My interviewing experience, tips, and tricks.
  • Fun problems you can solve using what we've learned.

ā—ļøPlease share any additional resources that you'd recommend, and topics that I forgot to add in the comments below!

Learning Method

I love learning, but I am not an efficient student. I am great at "consuming" material, like taking courses and going through tutorials. But if you ask me to explain what I've learned, I wouldn't be able to do so. I would say "it just slips my mind", but truth be told I never do the work to commit the material into my long term memory.

This time it is going to be different, and I am going to utilize the following two strategies to improve my retention of what I've learned:

  • Use scientific methods for efficient learning.
  • Following the idea of learning in public, I am going to summarize and share what I'm learning along the way. Learning by teaching makes sure you truly understand the material.

List of Resources

For now, let's start with a summary of resources and a list of topics we'll cover in the following weeks and months.

This is not an exhaustive list of all the resources that are available on the WWW, but rather a list of courses I find intriguing, and the books I own.

Legend to indicate where I'm at:
ā—ļø: Currently working on
āœ…: Done
šŸ’¤: Done, but needs a refresher

This is a living list, meaning I'll be coming back and updating it as I work through the material.

Data Structure & Algorithm Courses

Books

Websites

  • CodeSignal ā—ļø
  • Pramp, these are actual mock interviews with real people. You get to experience both sides: Being the interviewee as well as interviewing your peers.

Content

  • Analyzing Algorithms
    • Asymptotic Notation
    • Amortized Analysis
    • Probabilistic Analysis & Randomized Algorithms
  • Data Structures
    • Arrays & Linked Lists ā—ļø
    • Stacks & Queues
    • Hash Tables
    • Trees
    • Binary Search Trees
    • Red-Black Trees
    • B-Trees
    • Binomial Trees & Binomial Heaps
    • Fibonacci Heaps
    • Data Structures for Disjoint Sets
  • Recursion
  • Sorting & Order Algorithms
    • Heapsort
    • Quicksort
    • Sorting in Linear Time
  • Graph Algorithms
    • Breadth-first search (BFS)
    • Depth-first search (DFS)
    • Topological Sort
    • Minimum Spanning Trees
    • Single-Source Shortest Paths
    • All-Pairs Shortest Paths
    • Maximum Flow
  • Dynamic Programming
  • Greedy Algorithms
  • Linear Programming
  • Sorting Networks
  • Matrix Operations
  • Polynomials & the FFT
  • Number-Theoretic Algorithms
  • String Matching
  • Computational Geometry
  • NP-Completeness
  • Approximation Algorithms
  • Maps & Hashing
  • Tries
  • Heaps
  • Divide & Conquer
  • A*
šŸ’– šŸ’Ŗ šŸ™… šŸš©
codebalance
Kat šŸ†šŸ¾

Posted on November 20, 2019

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related