JavaScript

Learn JavaScript and common algorithms and data structures in JavaScript.

Basics

  1. Variables
  2. Type Coersion and Conversion
  3. Loops
  4. Conditional Statements
  5. Functions
  6. Arrays
  7. Objects
  8. This Keyword
  9. Sets
  10. Maps
  11. Operations
  12. Error Handling
  13. Closures
  14. Currying
  15. Prototype
  16. Prototype Inheritance
  17. Classes
  18. Class Inheritance
  19. Promises
  20. Modules

Recursion

  1. Factorial
  2. Exponents
  3. Fibonacci
  4. Power of Four
  5. Reverse String

Searching

  1. Linear Search
  2. Binary Search
  3. Binary Search Recursive

Sorting

  1. Array Sort Method
  2. Selection Sort
  3. Insertion Sort
  4. Bubble Sort
  5. Merge Sort
  6. Quick Sort

Stacks and Queues

  1. Stacks
  2. Queues Using Array
  3. Queues Using Object
  4. Queues Using Two Stacks
  5. Circular Queue

Linked Lists and Tables

  1. Linked List
  2. Doubly Linked List
  3. Hash Table

Trees and Graphs

  1. BST: Binary Search Tree
  2. DFS: Depth First Search
  3. BFS: Breadth First Search
  4. Trie
  5. Min Heap
  6. Max Heap
  7. Graph Representation
  8. Undirected Graph

Exercises

  1. Is Palindrome
  2. Is Prime
  3. Is Power of Two
  4. Is Power of Four
  5. Is Anagram
  6. Is Array Monotonic
  7. Is Pangram
  8. Factorial
  9. Fibonacci
  10. Valid Subsequence
  11. Last Word Length
  12. Increment Number as Array
  13. Binary Gap
  14. Valid Paranthesis
  15. Robot Back to Origin
  16. Robot Automation
  17. Simplify Path
  18. Roman Decimal Conversion
  19. Generate Paranthesis
  20. Is String Subset
  21. Can Be Palindrome
  22. First Non Repeating Character
  23. Climbing Staircase
  24. Smallest Missing Number
  25. Get N Missing Numbers
  26. Non Overlapping Intervals
  27. Insert Interval
  28. Merge Intervals
  29. Merge Sorted Arrays
  30. Merge Three Sorted Arrays
  31. Merge Sorted Linked Lists
  32. Merge Intersecting Linked Lists
  33. Median of Sorted Arrays
  34. Remove Duplicates
  35. Group Anagrams
  36. Two Sum
  37. Four Sum
  38. Rotate Array
  39. Rotate Linked List
  40. Permutations of Elements in Array
  41. Cartesian Product
  42. Common Prefix
  43. Maximize Vacation
  44. Robot Path
  45. Matrix Spiral
  46. Rotate Matrix
  47. Tower of Hanoi
  48. Flatten Nested Array
  49. Longest Common Substring
  50. Contiguous Subarrays
  51. Rotational Cipher
  52. Pair Sums
  53. Most Frequent K Elements
  54. Train Platforms
  55. Detect Loop in Linked List
  56. Linked List Intersection
  57. Reorder Linked List
  58. Add Numbers as Linked List
  59. Count Palindromic Substrings
  60. Longest Palindromic Substring
  61. Revenue Milestones
  62. Cafeteria Seats
  63. Planting Flowers
  64. Rotary Locks
  65. First and Last Position
  66. Search in Sorted Rotated Array
  67. Kth Largest Element in Array
  68. Kth Largest Element without Sorting
  69. Buy Low Sell High
  70. Is Valid BST
  71. Lowest Common Ancestor in BST
  72. Lowest Common Ancestor in Binary Tree
  73. Binary Tree Symmetry
  74. Identical Trees
  75. Are Binary Trees Isomorphic
  76. Is Binary Tree Balanced
  77. Balance a Binary Search Tree
  78. Sorted Array to BST
  79. Sorted Linked List to BST
  80. BST to Sorted Linked List
  81. BST to Sorted Doubly Linked List
  82. BST to Circular Linked List
  83. Binary Tree to Linked List
  84. Circular Gas Station
  85. Course Prerequisites
  86. Kth Permutation
  87. Shortest Substring
  88. Contiguous Subarray Averages
  89. Trapping Rain Water
  90. Custom Data Structure
  91. Coin Change
  92. Grid Traveler
  93. Can Sum
  94. How Sum
  95. Sentence Using Dictionary
  96. Knapsack Problem
  97. Number of Islands
  98. River Sizes
  99. LRU MRU Cache using Object and Linked List
  100. LRU MRU Cache using Map

Components

  1. Progress Bar
  2. Scroll Indicator