Skip to content

sudheerj/datastructures-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

datastructures-algorithms

List of Programs related to data structures and algorithms

Data Structures

Stack

  1. Stack using array: JavaScript

  2. Stack using linkedlist: JavaScript

Queue

  1. Queue using array: JavaScript
  2. Queue using linkedlist: JavaScript
  3. Queue using stack: JavaScript

Linkedlist

  1. Linkedlist implementation: JavaScript

DoublyLinkedlist

  1. DoublyLinkedlist implementation: JavaScript

Tree

  1. Binary Search Tree: JavaScript

Graphs

  1. Unweighted undirected graph: JavaScript

HashTable

  1. HashTable: JavaScript

Algorithms

Array

  1. Contains duplicates : Source Playground Documentation

  2. Two sum2- Input array sorted: Source Playground Documentation

  3. 3 sum: Source Playground Documentation

  4. Product of array except self: Source Playground Documentation

  5. Max sum subarray: Source Playground Documentation

  6. Minimum size subarray sum: Source Playground Documentation

  7. Sort Colors: Source Playground Documentation

  8. Maximum product subarray: Source Playground Documentation

  9. Find minimum in rotated sorted array: Source Playground Documentation

  10. Maximum Circular subarray: Source Playground Documentation

  11. Rotate array: Source Playground Documentation

  12. Search in rotated sorted array: Source Playground Documentation

  13. Container with most water: Source Playground Documentation

  14. First missing positive number: Source JavaScript Documentation

  15. Best time to buy stock and sell stock: Source JavaScript Documentation

  16. Two missing numbers: Source JavaScript Documentation

String

No. Name Source Live Documentation Level Pattern
1 Longest substring without repeating characters Source JavaScript Documentation Medium Sliding Window
2 Longest repeating character replacement Source JavaScript Documentation Medium Sliding Window
3 Minimum window substring Source JavaScript Documentation Hard Sliding Window
4 Valid anagram Source JavaScript Documentation Easy Frequency counting
5 Group anagrams Source JavaScript Documentation Medium Frequency counting
6 Valid palindrome Source JavaScript Documentation Easy Two pointer
7 Longest palindromic substring Source JavaScript Documentation Medium Expanding around center
8 Palindromic substrings Source JavaScript Documentation Medium Expanding around center
9 Encode and decode strings Source JavaScript Documentation Medium Basic string and array operations
10 Greatest common devisor of strings Source JavaScript Documentation Easy Euclidean and String operations
11 Reverse words in string Source JavaScript Documentation Medium Basic string and array operations

Dynamic programming

  1. Climbing stairs: JavaScript

  2. Coin change: JavaScript

  3. Longest increasing subsequence: JavaScript

  4. Longest common subsequence: JavaScript

  5. Word break problem: JavaScript

  6. Combination Sum 4: JavaScript

  7. House robber: JavaScript

  8. House robber 2: JavaScript

  9. Decode ways: JavaScript

  10. Unique paths: JavaScript

  11. Jump game: JavaScript

Binary

  1. Sum of two integers: JavaScript

  2. Number of 1 Bits: JavaScript

  3. Counting Bits: JavaScript

  4. Missing number: JavaScript

  5. Reverse Bits: JavaScript

Stack

  1. Sort Stack: JavaScript
  1. Balanced Brackets: JavaScript
  1. Daily Temperatures: JavaScript Documentation

  2. Number of People See In Queue: JavaScript Documentation

LinkedList

  1. Reverse substring: JavaScript

  2. Detect cycle in a linkedlist: JavaScript

  3. Merge two sorted lists: JavaScript

  4. Merge K sorted lists: JavaScript

  5. Remove Nth node from end of list: JavaScript

  6. Reorder list: JavaScript

  7. Find middle node: JavaScript

  8. Find Kth node from end of list: JavaScript

  9. Partition list: JavaScript

  10. Remove duplicates: JavaScript

  11. Binary to decimal: JavaScript

Doubly linkedlist

  1. Swap first and last: JavaScript

  2. Palindrome check: JavaScript

  3. Swap node pairs: JavaScript

Tree

  1. Maximum depth of binary tree: JavaScript

  2. Same tree: JavaScript

  3. Invert or Flip binary tree: JavaScript

  4. Binary tree maximum path sum: JavaScript

  5. Binary tree level order traversal: JavaScript

  6. Serialize and deserialize binary tree: JavaScript

  7. Subtree of another tree: JavaScript

  8. Construct binary tree from preorder and inorder traversal: JavaScript

  9. Validate BST: JavaScript

  10. Kth smalleest element in BST: JavaScript

  11. Lowest Common Ancestor of BST: JavaScript

  12. Trie: JavaScript

  13. Design and Search words Datastructure: JavaScript

  14. Word search 2: JavaScript

Graph

  1. Clone graph: JavaScript

  2. Course schedule: JavaScript

  3. Pacific Atlantic waterflow: JavaScript

  4. Number of Islands: JavaScript

  5. Longest consequtive sequence: JavaScript

  6. Alien dictionary: JavaScript

  7. Graph valid tree: JavaScript

  8. Number of connected components in an undirected graph: JavaScript

Matrix

  1. Set matrix zeros: JavaScript

  2. Spiral matrix: JavaScript

  3. Rotate image: JavaScript

  4. Word search: JavaScript

Interval

  1. Insert interval: Source Playground Documentation

  2. Merge interval: Source Playground Documentation

  3. Non-overlapping intervals: Source Playground Documentation

  4. Meeting rooms: Source Playground Documentation

  5. Meeting rooms 2: Source Playground Documentation

Hashtable

  1. Duplicates: JavaScript

  2. Two sum: JavaScript Documentation

  3. First non repeating character: JavaScript

  4. Group anagram: JavaScript

  5. Verify Common Elements: JavaScript

Sorting

  1. Bubble sort: Source Playground Documentation

  2. Selection sort: Source Playground Documentation

  3. Insertion sort: Source Playground Documentation

  4. Merge sort: Source Playground Documentation

  5. Quick sort: Source Playground Documentation

  6. Heap sort: Source Playground Documentation