# Data Structures in JavaScript: An Interview Refresher (Coderust)

Introduction to Heap - Min Heap: Introduction This lesson will give a brief introduction to min heaps and how elements are inserted and removed from them. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5673442888122368). Introduction to Hashing - Challenge 5: Find Two Pairs in an Array Such That a+b = c+d If you are given an array, can you find two pairs such that their sum is equal? View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5705976728518656). Introduction to Trees - What is a Binary Search Tree (BST)? This lesson will introduce Binary Search Trees and their properties. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5766420340146176). Introduction to Hashing - The Hash Function This is the first building block of a hash table. Let's see how it works. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5758448008429568). Introduction to Trees - Red-Black Tree Insertion This lesson will cover the insertion operation in Red-Black trees, discussing all four insertion cases. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5693526155198464). Introduction to Trees - Red-Black Tree Deletion This lesson will cover the deletion function of Red-Black trees and will discuss all four deletion cases. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5154250061512704). Introduction to Trees - Binary Search Tree Insertion (Implementation) In this lesson, we'll study the implementation of Binary Search Tree insertion in JavaScript through the iterative and recursive approaches. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5681626948304896). Introduction to Trees - Challenge 1: Find the Minimum Value in a Binary Search Tree Given the root to a Binary Search Tree, write a function to find the minimum value in that tree. A solution is placed in the "solution" section for your help, but we would suggest you solve it on your own first. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5649296045113344). Introduction to Trees - Solution Review: Find the Minimum Value in Binary Search Tree This review provides a detailed analysis of the different ways to solve the Find the Minimum Value in Binary Search Tree challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5666224323166208). Introduction to Trees - Challenge 2: Find the kth Maximum Value in a Binary Search Tree Given the root to a Binary Search Tree and a number "k", write a function to find the kth maximum value in the tree. A solution is placed in the "solution" section for your help, but we would suggest you solve it on your own first. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5682624991330304). Trie - Solution Review: Array Sort Using Tries This review provides a detailed analysis of the different ways to solve the Array Sort Using Tries Challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5707166098915328). Introduction to Hashing - Trees vs Hash Tables This lesson highlights the differences between trees and hash tables. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5189010641125376). Introduction to Hashing - Hashing Quiz: Test Your Understanding of Hashing The top ten most commonly asked interview questions about hashing will be covered in this lesson in the form of a quiz. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5704254446632960). Introduction to Trees - Post-Order Traversal In this lesson, we will cover Post-Order Traversal in a Binary Search Tree and implement it in JavaScript. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5719106980413440). Introduction to Heap - Challenge 3: Find k Largest Elements in an Array If you are given an array and any number "k", can you write a code to find the first "k" largest elements using max-heap? View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5726781550100480). Introduction to Trees - What is a 2-3 Tree? This lesson is an introduction to 2-3 trees and its properties, along with an example and the basic operations that this data structure offers. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5724114912280576). Trie - Trie Quiz: Test Your Understanding of Tries We're at the end of our discussion on tries. Here are a few follow up questions to reinforce your concepts. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5669720560762880). Introduction to Trees - 2-3 Deletion (Case #1) This lesson will cover the deletion operation in 2-3 trees, discussing all four scenarios based on the position of the element that needs to be deleted. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5754916270243840). Introduction to Trees - Solution Review: Find Nodes at "k" Distance From the Root This review provides a detailed analysis of the different ways to solve the Find Nodes at "k" Distance From the Root challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5675342538735616). Introduction to Hashing - Add/Remove & Search in Hash Table (Implementation) This lesson will cover the JavaScript Implementation for search, insertion and deletion in hash tables. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5640425327034368). Introduction to Trees - 2-3-4 Trees This lesson is a brief introduction to 2-3-4 Trees. We will discuss its key features and take a look at some examples. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5718475083350016). Introduction to Trees - Solution Review: Find the Height of a BST This review provides a detailed analysis of the different ways to solve the Find the Height of a Binary Tree challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5714237762568192). Trie - Search in a Trie This lesson defines the algorithm for a word search in a trie. It also highlights the different scenarios taken care of in the algorithm. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5660082654150656). Trie - Structure of a Trie This lesson covers the structure of the Trie class in JavaScript. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5673757830021120). Introduction to Trees - What is a Red-Black Tree? This lesson is an introduction to Red-Black trees, their properties, and the total time they take to perform the operations of insertion, deletion and searching. We will also do a small comparison between AVL and Red-Black Trees. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5649107603423232). Trie - Solution Review: Find All Words Stored in Trie This review provides a detailed analysis of the different ways to solve the Find All Words Stored in Trie Challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5743939608903680). Introduction to Graphs - Solution Review: Check if a Path Exists Between Two Vertices This review provides a detailed analysis of the different ways to solve the Check if a Path Exists Between Two Vertices challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/3jyPyvLWGgO). Introduction to Arrays - var vs. let vs. const Let's compare the var, let, and const keywords in JavaScript! View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/JYlGlXpOP62). Trie - Challenge 1: Total Number of Words in a Trie For your first challenge regarding tries, you'll be writing a commonly used function which gives us the trie word count. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5692896204292096). Introduction to Heap - Heap Quiz: Test Your Understanding of Heaps Here are the top ten most commonly asked interview questions on heaps! View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5736784528932864). Introduction to Hashing - Challenge 1: An Array as a Subset of Another Array Can you find whether a given array is a subset of another array by using a hash table? View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5699070421106688). Introduction to Complexity Measures - Useful Formulae In this lesson, we'll study some mathematical formulae that would make calculating time complexity easier! View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/xVlqk4xQyVJ). Introduction to Heap - Max Heap: Introduction This lesson will give a brief introduction to Max-Heaps and how their elements are inserted or removed from Max-Heaps. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5717200014934016). Introduction to Stack/Queues - Stack/Queue Quiz: Test Your Understanding of Stack/Queue The top ten most commonly asked interview questions about stack and queue will be covered in this lesson in the form of a quiz. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/7n9YVj2Mp2B). Introduction to Graphs - Solution Review: Check if a Graph is a Tree or Not This review provides a detailed analysis of the different ways to solve the Check if a Graph is a Tree or Not Challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/xV71zjJo5Gl). Introduction to Stack/Queues - Challenge 6: Evaluate Postfix Expression Using a Stack Let's try to compute postfix mathematical expressions using stacks! View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/B81w73oM5xX). Introduction to Stack/Queues - Challenge 8: Check Balanced Parentheses Using Stack If you are given an expression, can you check if its parentheses are balanced? A solution is placed in the “solution” section for your help, but we would suggest you solve it on your own first. Introduction to Graphs - Solution Review: Implement Breadth First Search This review provides a detailed analysis to solve the Implement Breadth First Search challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/m2YAoKv725p). Introduction to Trees - Binary Search Tree Insertion In this lesson, we'll study the binary search tree insertion algorithm! View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5668555215339520). Introduction to Heap - Max Heap (Implementation) Let's implement a max heap! View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5161164958859264). Introduction to Trees - In-Order Traversal In this lesson, we will cover In-Order Traversal and implement it in JavaScript. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5653273721700352). Introduction to Complexity Measures - Solution Review: Nested Loop with Multiplication (Advanced) This review provides a detailed analysis of the different ways to solve the Nested Loop with Multiplication challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/RMZm2zrJXWE). Introduction to Linked Lists - Deletion at the Tail In this lesson, we will go over the final strategy of deletion in a singly linked list. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/RM0gOXx1Drq). Summary of Data Structures - Conclusion That's a wrap! View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5744981138472960). Introduction to Graphs - Challenge 9: Remove Edge In this challenge, we will learn how to delete an edge between two vertices. Introduction to Trees - Implementing a Binary Search Tree in JavaScript In this lesson, we'll implement a very basic Binary Search Tree in JavaScript. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5755997729587200). Trie - Challenge 3: Array Sort Using Tries This lesson is about sorting string arrays using tries. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5637164708659200). Introduction to Hashing - Solution Review: An Array as a Subset of Another Array This review provides a detailed analysis of the different ways to solve the An Array as a Subset of Another Array challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5644534738321408). Introduction to Trees - AVL Deletion This lesson will cover the deletion operation in AVL trees, discussing all four deletion cases. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5187166690869248). Introduction to Linked Lists - Solution Review: Reverse a Linked List This review provides a detailed analysis to solve the Reverse a Linked List challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/mEGmE5owE4O). Introduction to Graphs - Representation of Graphs In this lesson, we will cover two approaches for representing a graph. Summary of Data Structures - Overview of Linear & Non-Linear Data Structures In this lesson, we will review the time complexities of the data structures we have studied. We will also categorize them into linear and non-linear data structures. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5691678782390272). Introduction to Graphs - What is a Bipartite Graph? Now, we’ll be introduced to a unique graph called the bipartite graph. We will also take a look at some examples to better understand the concept. Introduction to Arrays - Solution Review: Find Second Maximum Value in an Array This review provides a detailed analysis of the different ways to solve the Find Second Maximum Value in an Array challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/7AYVKw99NPO). Introduction to Trees - Challenge 3: Find Ancestors of a Given Node in a BST If you are given the root to a Binary Search Tree and a node value "k", can you write a code to find the ancestor of that node? A solution is placed in the "solution" section for your help, but we would suggest you solve it on your own first. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5642458457178112). Introduction to Linked Lists - Singly Linked Lists vs. Doubly Linked Lists Let's see how the two renditions of the linked list structure fare against each other. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/gx6lVB0D4xl). Introduction to Stack/Queues - Solution Review: Check Balanced Parentheses Using Stack This review provides a detailed analysis of the solution to solve the Check Balanced Parentheses using Stack challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/B8OJlZDqO2o). Introduction to Graphs - Complexities of Graph Operations Let's discuss the performance of the two graph representation approaches. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/3jjlnyyOrRR). Introduction to Linked Lists - Solution Review: Find the Length of a Linked List This review provides a detailed analysis to solve the Find the Length of a Linked List challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/B8nZvpkRDNW). Introduction to Hashing - Solution Review: A Subarray with a Sum of 0 This review provides a detailed analysis of the different ways to solve the A Subarray with a Sum of 0 challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5705944180719616). Introduction to Linked Lists - Solution Review: Detect a Loop in a Linked List This review provides a detailed analysis to solve the Detect a Loop in a Linked List challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/m7yj6NGOyjp). Introduction to Hashing - Solution Review: Find Two Pairs Such That a+b = c+d This review provides a detailed analysis of the different ways to solve the Find Two Pairs Such That a+b = c+d challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5633049995771904). Introduction to Linked Lists - Solution Review: Union and Intersection of Linked Lists This review provides a detailed analysis of the different ways to solve the Union and Intersection of Linked Lists challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/393Y8kjG69r). Introduction to Graphs - Solution Review: Remove Edge This review provides a detailed analysis of the different ways to solve the Remove Edge challenge. Introduction to Linked Lists - Solution Review: Insertion at Tail This review provides a detailed analysis of the different ways to solve the Insertion at Tail challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/xVoEw218EOE). Introduction to Graphs - Types of Graphs This lesson showcases the two main categories of graphs. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/RMPjxLYLZXE). Introduction to Stack/Queues - Solution Review: Implement a Queue Using Stacks This review provides a detailed analysis of the different ways to solve the Implement a Queue Using Stacks challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/3jwZDxXNZWx). Introduction to Hashing - Solution Review: Check if Arrays are Disjointed This review provides a detailed analysis of the different ways to solve the Check if Arrays are Disjointed challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5710161838604288). Introduction to Graphs - Solution Review: Detect Cycle in Graph This review provides a detailed analysis of the different ways to solve the Detect a Cycle in a Graph challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/NEOrzNE8Znm). Introduction to Graphs - Solution Review: Find the Shortest Path Between Two Vertices This review provides a detailed analysis of the different ways to solve the Find the Shortest Path Between Two Vertices challenge. Introduction to Heap - Solution Review: Find k Largest Elements in an Array This review provides a detailed analysis of the way to solve the Find k largest elements in an Array Challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5736829290545152). Introduction to Linked Lists - Linked Lists vs. Arrays Let's put the two data structures against each other to find out which is more efficient. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/qVVrwx1VWB2). Introduction to Heap - Challenge 1: Convert Max-Heap to Min-Heap Given a max-heap convert it into a min-heap. A solution is placed in the "solution" section for your help, but we would suggest you solve it on your own first. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5681117457809408). Introduction to Heap - Solution Review: Convert Max-Heap to Min-Heap This review provides a detailed analysis of the way to solve the Convert Max-Heap to Min-Heap Challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/6332798952538112). Introduction to Hashing - Challenge 4: Trace the Complete Path of a Journey Test your knowledge on hash table traversal with this coding exercise! View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5633031003963392). Introduction to Stack/Queues - Solution Review: Evaluate Postfix Expression Using a Stack This review provides a detailed analysis of the different ways to solve the Evaluate Postfix Expression Using Stack challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/gxQZEG41nkY). Introduction to Hashing - Solution Review: Find Symmetric Pairs in an Array This review provides a detailed analysis of the different ways to solve the Find Symmetric Pairs in an Array Challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5681162219421696). Introduction to Arrays - Solution Review: Find Minimum Value in Array This review provides a detailed analysis of the different ways to find the minimum value in an array. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/7nOArvZnQjG). Trie - What is a Trie? This lesson gives a brief introduction to tries, their properties, and common applications. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5735553819475968). Introduction to Trees - Overview of Trees A quick overview of trees, their types, and some important formulas to compute height and number of nodes in a tree. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5643453278978048). Introduction to Complexity Measures - Solution Review: Big (O) of Nested Loop with Multiplication This review provides a detailed analysis of the different ways to solve the Big (O) of Nested Loop with Multiplication Quiz. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/xVo6KLGVNB3). Introduction to Trees - Challenge 5: Find Nodes at "k" Distance From the Root If you are given the root to a Binary Search Tree and a node value "k", can you write a code to find the nodes at "k" distance from the root? A solution is placed in the "solution" section for your help, but we would suggest you solve it on your own first. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5079508503756800). Introduction to Trees - Deletion in Binary Search Tree In this lesson, we are going to learn how nodes are deleted in binary search trees. We will take a look at a few node deletion scenarios and what to do in each one. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5639383797465088). Introduction to Arrays - Solution Review: Merge Two Sorted Arrays This review provides a detailed analysis of the different ways to solve the Merge Two Sorted Arrays challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/m27w97QNJER). Introduction to Trees - Pre-Order Traversal In this lesson, we will cover the traversal strategy, 'Pre-Order Traversal', in a Binary Search Tree and implement it in JavaScript. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5086157650001920). Introduction to Trees - Challenge 4: Find the Height of a BST Given the root to a Binary Search Tree, write a function to find the height of the tree. A solution is placed in the "solution" section for your help, but we would suggest you solve it on your own first. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5675375086534656). Introduction to Heap - What is a Heap? A brief introduction to heaps and their uses. We will also discuss the heap property and how a heap is implemented. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/6212057556844544). Introduction to Graphs - Graph Traversal Algorithms In this lesson, we will learn the basic logic behind graph traversal, and we will see how it applies to the two most famous graph traversal algorithms. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/gx8NKY3J326). Introduction to Trees - Deletion in Binary Search Tree (Implementation) We will now write the implementation of the delete function which covers all the cases that we discussed previously. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5708977300045824). Introduction to Trees - 2-3 Insertion This lesson will explain how insertion is done in 2-3 Trees based on multiple scenarios that are explained with the insertion algorithm. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5689701486821376). Trie - Challenge 4: Word Formation from a Dictionary Using Trie This is a more advanced problem regarding tries and shows us the efficiency of this data structure in word matching. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5702224873259008). Introduction to Stack/Queues - Solution Review: Generate Binary Numbers From 1 to n Using Queue This review provides a detailed analysis of the different ways to solve the Generate Binary Numbers from 1 to n using a Queue challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/m27LvN2DQQG). Introduction to Stack/Queues - Solution Review: Next Greater Element Using a Stack This review provides a detailed analysis of the different ways to solve the Next Greater Element Using a Stack challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/qVVR3oRmJ10). Introduction to Complexity Measures - Solution Review: Big (O) of Nested Loop with Subtraction This review provides a detailed analysis of the time complexity of the Nested Loop with Subtraction problem! View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/7n93n6r2Ypj). Introduction to Stack/Queues - Solution Review: Implementing Two Stacks Using One Array This review provides a detailed analysis of the different ways to solve the Implementing Two Stacks Using One Array challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/gx6PV9R6V2j). Introduction to Stack/Queues - Solution Review: Sort Values in Stack This review provides a detailed analysis of the different ways to solve the Sort Values in a Stack challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/xV25LPr74Gr). Introduction to Stack/Queues - Solution Review: min() Function Using a Stack This review provides a detailed analysis of the different ways to solve the min() Function Using a Stack challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/NEOJll2OD6v). Introduction to Complexity Measures - Solution Review: Nested Loop with Multiplication (Pro) This review provides a detailed analysis of the different ways to solve the Nested Loop with Multiplication (Pro) challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/JYNY1nmjxOg). Introduction to Trees - What is an AVL Tree? This lesson is a brief introduction to AVL trees, why they are used, and what makes them more efficient than regular binary search trees View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5740985543819264). Introduction to Graphs - Solution Review: Implement Depth First Search This review provides a detailed analysis to solve the Implement Depth First Search challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/xV74rnoOlMr). Introduction to Trees - Searching in a Binary Search Tree (Implementation) This lesson is about Searching in a Binary Search Tree and how to implement searching functionality in JavaScript. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5748078682308608). Introduction to Trees - Trees Quiz: Test Your Understanding of Trees The top ten most commonly asked interview questions about trees will be covered in this lesson in the form of a quiz. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5670332794929152). Trie - Deletion in a Trie After insertion and search, let's figure out the logic behind deletion in tries. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5731791428124672). Trie - Solution Review: Word Formation from a Dictionary Using a Trie This review provides a detailed analysis of the different ways to solve the Word Formation from a Dictionary Using a Trie Challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5667240082931712). Trie - Challenge 2: Find All Words Stored in Trie If you are given a trie, can you return every word it contains? View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5768418909224960). Introduction to Complexity Measures - Comparing Algorithms In this lesson, we are going to learn how two or more algorithms may be compared. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/xVVyKOr31Qn). Introduction to Trees - Skewed Binary Tree In this lesson, we will discuss another type of Binary Tree called a Skewed Binary Tree. We will look at some of its properties and types. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/YVvDNvyYNRW). Introduction to Hashing - Building a Hash Table from Scratch This lesson is about how hash tables are implemented in JavaScript. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5758485388066816). Introduction to Hashing - Challenge 2 : Check if Arrays are Disjointed Building upon the previous challenge, we will learn how to check if two arrays are disjointed. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5070081050542080). Introduction to Hashing - Challenge 3: Find Symmetric Pairs in an Array Now we will implement a symmetry detection algorithm using hash tables. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5765728313540608). Introduction to Heap - Min Heap (Implementation) We'll implement a min heap in this lesson! View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5738554592329728). Introduction to Hashing - What is a Hash Table? This lesson is a brief introduction to the hash table data structure and the basic principles behind implementing it. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5178035590397952). Introduction to Stack/Queues - Solution Review: Reversing First k Elements of Queue This review provides a detailed analysis of the different ways to solve the Reversing First k Elements of Queue challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/qVVzL3XK9Kr). Introduction to Trees - AVL Insertion This lesson will cover the insertion operation in AVL trees, discussing the four insertion cases. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5733864488042496). Trie - Insertion in a Trie This lesson defines all the cases needed for inserting a word into a trie, along with the JavaScript implementation. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5751960594546688). Introduction to Stack/Queues - Challenge 7: Next Greater Element Using a Stack Using a stack, can you implement a function to find the next greater element after any given element in an array? Introduction to Hashing - Collisions in Hash Tables This lesson is about how collisions occur in hashing and the common strategies used in resolving these collisions. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5686364297232384). Introduction to Linked Lists - Solution Review: Search in a Singly Linked List This review provides a detailed analysis of the different ways to solve the Search in a Singly Linked List challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/qV2DQxJXZm2). Introduction to Complexity Measures - Introduction to Asymptotic Analysis and Big O In this lesson, we will learn about asymptotic notation, an important tool applied to the analysis of algorithms. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/qVQq0WLjO3p). Introduction to Linked Lists - Solution Review: Find Middle Value of a Linked List This review provides a detailed analysis of the different ways to solve the Find the Middle Value in a Linked List challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/qVQY2PYEOLG). Introduction to Linked Lists - Solution Review: Remove Duplicates from a Linked List This review provides a detailed analysis to solve the Remove Duplicates from a Linked List challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/7An88W8MAoO). Introduction to Arrays - Solution Review: Rearrange Positive & Negative Values This review provides a detailed analysis of the different ways to solve the Rearrange Positive & Negative Values challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/gx2gr0GzNY3). Introduction to Complexity Measures - Other Common Asymptotic Notations and Why Big O Trumps Them This lesson covers the various asymptotic notations for algorithms and why computer scientists prefer Big O instead of other notations. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/JYYpmPpB1vD). Introduction to Trees - 2-3 Deletion (Case #2) How do we delete an element present in an internal node? It will be explained in this lesson with the help of an example. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5740532424769536). Introduction to Trees - Solution Review: Find kth Maximum Value in Binary Search Tree This review provides a detailed analysis of the different ways to solve the Find kth Maximum Value in Binary Search Tree challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5722608653828096). Introduction to Trees - Solution Review: Find Ancestors of a Given Node in a BST This review provides a detailed analysis of the different ways to solve the Find Ancestors of a Given Node in a Binary Search Tree challenge View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5742571661819904). Introduction to Heap - Solution Review: Find k Smallest Elements in an Array This review provides a detailed analysis of the way to solve the Find k smallest Elements in an Array challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5670377556541440). Introduction to Hashing - Challenge 6: A Subarray with a Sum of 0 In this exercise, we will find a subarray whose sum turns out to be zero. Let's try it out! View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5742604209618944). Introduction to Graphs - Solution Review: Find "Mother Vertex" in a Graph This review provides a detailed analysis of the different ways to solve the Find "Mother Vertex" in a Graph challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/B81ovLMVA6J). Introduction to Heap - Challenge 2: Find k Smallest Elements in an Array Given an array and a number "k", write a function that returns the first "k" smallest elements using a min-heap. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5746229162016768). Introduction to Hashing - A Quick Overview of Hash Tables Let's combine the different operations discussed previously and test out the functionality of our complete hash table class. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5656782173110272). Introduction to Complexity Measures - Example 2: Time Complexity of an Algorithm With Nested Loops In this lesson, we will learn how to compute the time complexity of an algorithm that involves nested for loops. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/m2MloJQz0wA). Introduction to Hashing - Solution Review: Trace the Complete Path of a Journey This review provides a detailed analysis of the way to solve the Trace the Complete Path of a Journey challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5746196614217728). Introduction to Complexity Measures - Example 1: Measuring Time Complexity of a Single Loop Algorithm In this lesson, we are going to learn how to compute the time complexity of an algorithm that involves a for loop. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/7nn1ggVyL7O). Trie - Solution Review: Total Number of Words in a Trie This review provides a detailed analysis of the different ways to solve the Total Number of Words in a Trie Challenge. View the lesson [here](https://www.educative.io/collection/page/5642554087309312/5663204961157120/5678724825481216). Introduction to Graphs - Solution Review: Count the Number of Edges in a Graph This review provides a detailed analysis of the different ways to solve the Count the Number of Edges in Graph challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/JYlWlq5NO4P). Introduction to Linked Lists - Solution Review: Return the Nth Node from the End This review provides a detailed analysis of return the Nth Node from the End challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/qAxlo4lyWNk). Introduction to Complexity Measures - Solution Review: Nested Loop with Multiplication (Intermediate) This review provides a detailed analysis of the different ways to solve the Nested Loop with Multiplication (Intermediate) challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/gx63N19xrDY). Introduction to Complexity Measures - Solution Review: Nested Loop with Multiplication (Basic) This review provides a detailed analysis of the different ways to solve the nested loop with multiplication (Basic) problem. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/3jwJB6DqZGp). Introduction to Complexity Measures - Solution Review: Big (O) of Nested Loop with Addition This review provides a detailed analysis of the time complexity of the Nested Loop with Addition problem! View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/qVLpJ3y5gJr). Introduction to Arrays - Solution Review: First First Unique Integer in an Array This review provides a detailed analysis of the different ways to solve the First Unique Integer in an Array challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/xV61MjxyKB3). Introduction to Graphs - Graph Implementation This lesson will cover the implementation of a unidirectional graph via an adjacency list in JavaScript. We will also go through the time complexity of basic graph operations. Introduction to Arrays - Solution Review: Array of Products of All Elements This review provides a detailed analysis of the different ways to solve the array of products of all elements challenge! View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/B8r22gJMG2o). Introduction to Arrays - Solution Review: Find Two Numbers that Add up to "value" This review provides a detailed analysis of the different ways to solve the Find Two Numbers That Add up to "value" challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/7nOqNj0x52j). Introduction to Arrays - Solution Review: Rearrange Sorted Array in Max/Min Form This review provides a detailed analysis of the different ways to solve the Rearrange Sorted Array in Max/Min Form challenge View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/qVD52x8PKv7). Introduction to Arrays - Solution Review: Remove Even Integers From an Array This review provides a detailed analysis of the different ways to solve the Remove Even Integers From an Array challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/xVVAwngJ3x9). Introduction to Arrays - Solution Review: Right Rotate an Array by n This review provides a detailed analysis of the different ways to solve the Right Rotate Array challenge View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/3jjM59RB6Wx). Introduction to Arrays - Arrays In this lesson, we define arrays and their methods in JavaScript! View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/gx2vRWpY693). Introduction to Graphs - What is a Graph? This lesson is a brief introduction to the graph data structure, its types, and the standard terminologies used to describe it. Introduction to Stack/Queues - Challenge 9: min() Function Using a Stack Using your knowledge, create an efficient min() function using a stack. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/YQVlXNkyy9p). Introduction to Linked Lists - Basic Linked List Operations This lesson lists the various operations that can be performed on linked lists. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/RM59PoJVLQE). Introduction to Linked Lists - Solution Review: Deletion by Value This review provides a detailed analysis of the different ways to solve the Deletion by Value challenge. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/N81GDNOm4mK). Introduction to Complexity Measures - Challenge 6: Nested Loop with Multiplication (Advanced) An advanced exercise based on Big(O) of an algorithm that involves nested loops and the loop variables increment with multiplication and addition. View the lesson [here](https://www.educative.io/courses/data-structures-in-javascript-an-interview-refresher/xVGyBBrw9AE).

About the Data Structures in JavaScript: An Interview Refresher (Coderust) category
[Data Structures in JavaScript: An Interview Refresher (Coderust)]
(1)

Alternate solution
[Introduction to Arrays - Solution Review: Array of Products of All Elements]
(1)

Time Complexity if we want to ensure that there are no duplicates in the graph
[Introduction to Graphs - Complexities of Graph Operations]
(2)

Error in the solution #3
[Introduction to Stack/Queues - Solution Review: Implement a Queue Using Stacks]
(2)

Why is the number of primitive ops for sum += 1 equal to three?
[Introduction to Complexity Measures - Comparing Algorithms]
(2)

Why my solution fails and what is its run time
[Introduction to Arrays - Solution Review: Merge Two Sorted Arrays]
(2)

Time complexity with for loop and splice
[Introduction to Arrays - Solution Review: Remove Even Integers From an Array]
(1)