# Table of Contents

## Data Structures

- [Singly Linked List](src/_DataStructures_/LinkedList)

  - [N Element From Last](src/_DataStructures_/LinkedList/element-from-last)
  - [Middle Node](src/_DataStructures_/LinkedList/middle-node)
  - [Detect Loop](src/_DataStructures_/LinkedList/loop-in-list)
  - [Reverse Linked List](src/_DataStructures_/LinkedList/reverse-linked-list)

- [Stack](src/_DataStructures_/Stack)

  - [Implement Queue Using Stack](src/_DataStructures_/Stack/immitate-queue-using-stack)
  - [Baseball Game](src/_DataStructures_/Stack/baseball-game)
  - [Find minimum in the Stack](src/_DataStructures_/Stack/min-stack)
  - [Balanced Parenthesis](src/_DataStructures_/Stack/balanced-parenthesis)
  - [Postfix Expression Evaluation](src/_DataStructures_/Stack/postfix-expression-evaluation)
  - [Remove Consecutive Repeated Digits](src/_DataStructures_/Stack/remove-consecutive-repeated-digits)
  - [Implement 2 Stacks using Single Array](src/_DataStructures_/Stack/2-stacks-using1-array)
  - [Sort a Stack](src/_DataStructures_/Stack/sort-a-stack)

- [Queue](src/_DataStructures_/Queue)

  - [Weave](src/_DataStructures_/Queue/weave)
  - [Reverse First K Elements of a Queue](src/_DataStructures_/Queue/reverse-first-k)
  - [Generate all Binary Numbers from 1 to N](src/_DataStructures_/Queue/generate-binary-number)
  - [Queue using Stack](src/_DataStructures_/Queue/queue-using-stack)

- [Doubly Linked List](src/_DataStructures_/DoublyLinkedList)

- [Trees](src/_DataStructures_/Trees)
  - [Binary Tree (creation using level order)](src/_DataStructures_/Trees/BinaryTree)
  - [Binary Search Tree](src/_DataStructures_/Trees/BinarySearchTree)
    - [Find k<sup>th</sup> maximum in a BinarySearchTree](src/_DataStructures_/Trees/BinarySearchTree/find-kth-max)
    - [Find k<sup>th</sup> minimum in a BinarySearchTree](src/_DataStructures_/Trees/BinarySearchTree/find-kth-min)
    - [Find Ancestors of a Node](src/_DataStructures_/Trees/BinarySearchTree/find-ancestors)
    - [Find Height of BST](src/_DataStructures_/Trees/BinarySearchTree/height-of-bst)
    - [Find k Nodes from Root of BST](src/_DataStructures_/Trees/BinarySearchTree/find-k-nodes-from-root)
  - [Suffix Tree](src/_DataStructures_/SuffixTree)
  - [Trie](src/_DataStructures_/Trees/Trie)
    - [Total words count count in a Trie](src/_DataStructures_/Trees/Trie/total-words-in-trie)
    - [Unique words count in a Trie](src/_DataStructures_/Trees/Trie/unique-word-count)
    - [All the words from a Trie](src/_DataStructures_/Trees/Trie/all-words-in-trie)
    - [Unique words in a Trie](src/_DataStructures_/Trees/Trie/get-unique-words)
- [Heaps](src/_DataStructures_/Heaps)
  - [MaxHeap](src/_DataStructures_/Heaps/MaxHeap)
  - [MinHeap](src/_DataStructures_/Heaps/MinHeap)
  - Problems
    - [K Largest Elements](src/_DataStructures_/Heaps/k-largest-in-array)
    - [K Smallest Elements](src/_DataStructures_/Heaps/k-smallest-in-array)

### Logical Problems

- [Anagrams](src/_Problems_/anagrams)
- [Array Chunk](src/_Problems_/array-chunk)
- [Count Vowels](src/_Problems_/count-vowels)
- [Find 2 numbers that add upto N](src/_Problems_/find-2-nums-adding-to-n)
- [Find 2nd Maxinum from an Array](src/_Problems_/find-2nd-max)
- [FizzBuzz](src/_Problems_/fizzbuzz)
- [String Permutaions](src/_Problems_/get-string-permutations)
- [Get Subsequence](src/_Problems_/get_subsequence)
- [Get Maze Path](src/_Problems_/get-mazePath)
- [Get longest consecutive 1s](src/_Problems_/max-consecutive-1s)
- [Get Max Char](src/_Problems_/maxchar)
- [Get Smallest Common Number](src/_Problems_/get-smallest-common-number)
- [Merge 2 Sorted Arrays](src/_Problems_/merge-two-sorted-arrays)
- [Palindrome](src/_Problems_/palindrome)
- [Product of Elements](src/_Problems_/product-of-elements)
- [Remove Duplicates](src/_Problems_/remove-duplicates)
- [Reverse String](src/_Problems_/reverse_string)
- [Maximum Product of Three Numbers](src/_Problems_/max-product-of-3-numbers)
- [Next Greater for Every Element in an Array](src/_Problems_/next-greater-element)
- [Compose Largest Number](src/_Problems_/compose-largest-number)

### Searching

- [Binary Search](src/_Searching_/BinarySearch)

### Algorithms

- [LRU Cache](src/_Algorithms_/lru-cache)
- Path Finders
  - [A\*](src/_Algorithms_/path-finder/a-star)

### Classics

- [Caeser Cipher](src/_Classics_/caeser_cipher)
- [Fibonacci](src/_Classics_/fibonacci)