PNL Learn

Algorithms and Data Structures

Think in Big O and solve the problems interviews actually ask.

The course that gets you through technical interviews. You will measure code in Big O by counting real operations, then implement binary search, insertion sort and merge sort, build stacks, queues and a linked list, and solve problems with hash maps, sliding windows and two pointers. You will write a binary search tree, walk graphs with BFS and DFS, and finish with the classic interview problems, graded against edge cases and efficiency budgets, while learning to talk through a solution the way interviewers expect.

IntermediatePython6 lessons45 exercisesAbout 4 h
Create a free account

What you will learn

  • Big O analysis
  • Binary search
  • Sorting algorithms
  • Stacks and queues
  • Linked lists
  • Hash maps
  • Two pointers and sliding windows
  • Trees and graphs
  • Interview problem solving

Lessons

  1. 1

    Big O

    Count the work your code does, name its growth rate, and spot the hidden loops inside everyday Python operations.

    8 exercises

  2. 2

    Searching and Sorting

    Binary search without off-by-one bugs, the bisect module, and insertion sort and merge sort written by hand.

    8 exercises

  3. 3

    Stacks, Queues and Linked Lists

    Use a list as a stack and a deque as a queue, then build a linked list with O(1) append, search, removal and in-place reversal.

    8 exercises

  4. 4

    Hash Maps and Two Pointers

    Turn O(n^2) searches into O(n) passes with dicts and sets, frequency counts, sliding windows and two pointers.

    8 exercises

  5. 5

    Recursion, Trees and Graphs

    Think recursively, build a binary search tree, and explore graphs with depth-first and breadth-first search.

    8 exercises

  6. 6

    Interview Problems

    Talk through a solution like a strong candidate, then solve five classic interview problems against edge cases and efficiency budgets.

    5 exercises

How you practice

You practice in the browser and every exercise gives you feedback right away. This course uses these formats:

  • Code exercise: 24
  • Predict the output: 5
  • Multiple choice: 4
  • Fix the bug: 4
  • Match the pairs: 2
  • Select all that apply: 2
  • Spot the bug: 1
  • Type the answer: 1
  • Fill in the blank: 1
  • Reorder lines: 1

Aligned to

CS2023ACM / IEEE-CS / AAAISource
  • Algorithmic Foundations
    • AL-FoundationalFoundational Data Structures and Algorithms
    • AL-ComplexityComplexity

Proto Node Labs is not affiliated with or endorsed by ACM / IEEE-CS / AAAI. Exam names are trademarks of their owners.