Enjoy 20% off all plans by following us on social media. Check out other promotions!

Data Structures & Algorithms

Hone your computer science fundamentals by implementing important data structures and algorithms from scratch and practice the questions where algorithmic efficiency is key.
Start learning
Track your progress

All Practice Questions

Questions List

  • StackImplement a stack data structure containing the common stack methods
    Languages
    JSTS
  • Insertion SortImplement a function that performs an insertion sort
    Languages
    JSTS
  • Binary SearchImplement a function that performs binary search on an array of numbers
    Languages
    JSTS
  • Breadth-first SearchImplement a breadth-first search algorithm that traverses a directed graph in a breadth-first manner
    Languages
    JSTS
  • Depth-first SearchImplement a depth-first search algorithm that traverses a directed graph in a depth-first manner
    Languages
    JSTS
  • Heap SortImplement a function that performs a heap sort
    Languages
    JSTS
  • QueueImplement a queue data structure containing the common queue methods
    Languages
    JSTS
  • Event EmitterImplement a class that can subscribe to and emit events that trigger attached callback functions
    Languages
    JSTS
  • Merge SortImplement a function that performs a recursive merge sort
    Languages
    JSTS
  • Quick SortImplement a function that performs a recursive quick sort
    Languages
    JSTS
  • Topological SortImplement a function that performs a topological sort
    Languages
    JSTS
  • Unique ArrayPremiumImplement a function to remove all duplicate values from an array
    Languages
    JSTS
  • Selection SortPremiumImplement a function that performs a selection sort
    Languages
    JSTS
  • Data MergingPremiumImplement a function to merge rows of data from the same user
    Languages
    JSTS
  • Event Emitter IIPremiumImplement a class that can subscribe to and emit events that trigger attached callback functions. Subscription objects are returned and can unsubscribe itself
    Languages
    JSTS
  • Transfer ListPremiumBuild a component that allows transferring of items between two lists
    Available frameworks
  • Undoable CounterPremiumBuild a counter with a history of the values and ability to undo/redo actions
    Available frameworks
  • Backbone ModelPremiumImplement a class resembling Backbone.Model which allows storing of attributes/values and responding to changes in specific attribute values
    Languages
    JSTS
  • Data SelectionPremiumImplement a function to filter rows of data matching a specified requirement
    Languages
    JSTS
  • Table of ContentsPremiumImplement a function to construct a table of contents from an HTML document
    Languages
    HTMLJSTS
  • Transfer List IIPremiumBuild a component that allows transferring of items between two lists, bulk selection/unselection of items, and adding of new items
    Available frameworks
  • WordlePremiumBuild Wordle, the word-guessing game that took the world by storm
    Available frameworks