ruhirani011 / Data-Structures-and-Algorithms

I had started learning Data Structures and Algorithms on April 1, 2021, and this repo contains the result of my daily grind on Data structures and Algorithms.

Home Page:https://bit.ly/pranayDSAsheet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data Structures and Algorithms

LOC visitor count Stars Badge Forks Badge GitHub contributors

If you appreciate my work, please 🌟 this repository. It motivates me. πŸš€ πŸš€

Folder Structure

Data-Structures-and-Algorithms
β”‚   LICENSE
β”‚   PREREQUISITES.md
β”‚   README.md
β”‚   SYLLABUS.md
β”‚
β”œβ”€β”€β”€01. DataStructures
β”‚   β”œβ”€β”€β”€01. Linked List
β”‚   β”‚   β”œβ”€β”€β”€1. Singly-Linked-List
β”‚   β”‚   β”‚   β”œβ”€β”€β”€Basic Operations
β”‚   β”‚   β”‚   β”‚       README.md
β”‚   β”‚   β”‚   β”‚       SinglyLL.cpp
β”‚   β”‚   β”‚   β”‚       SinglyLL.java
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   └───InterviewBit Questions
β”‚   β”‚   β”‚       β”œβ”€β”€β”€01. ReverseLL
β”‚   β”‚   β”‚       β”‚       README.md
β”‚   β”‚   β”‚       β”‚       solution 1.java
β”‚   β”‚   β”‚       β”‚
β”‚   β”‚   β”‚       β”œβ”€β”€β”€02. IntersectionOfLL
β”‚   β”‚   β”‚       β”‚       README.md
β”‚   β”‚   β”‚       β”‚       solution 2.java
β”‚   β”‚   β”‚       β”‚
β”‚   β”‚   β”‚       β”œβ”€β”€β”€03. Kth Node From Middle
β”‚   β”‚   β”‚       β”‚       README.md
β”‚   β”‚   β”‚       β”‚       solution 3.java
β”‚   β”‚   β”‚       β”‚
β”‚   β”‚   β”‚       β”œβ”€β”€β”€04. Palindrome List GQ
β”‚   β”‚   β”‚       β”‚       README.md
β”‚   β”‚   β”‚       β”‚       solution 4.java
β”‚   β”‚   β”‚       β”‚
β”‚   β”‚   β”‚       β”œβ”€β”€β”€05. Merge Two Sorted List GQ
β”‚   β”‚   β”‚       β”‚       Apna College Solution (Good Explaination).md
β”‚   β”‚   β”‚       β”‚       solution 5 ApnaCollege.java
β”‚   β”‚   β”‚       β”‚       solution 5 Striver.java
β”‚   β”‚   β”‚       β”‚       Striver Solution.md
β”‚   β”‚   β”‚       β”‚
β”‚   β”‚   β”‚       β”œβ”€β”€β”€06. Remove Duplicates From Sorted List
β”‚   β”‚   β”‚       β”‚       README.md
β”‚   β”‚   β”‚       β”‚       solution 6.java
β”‚   β”‚   β”‚       β”‚
β”‚   β”‚   β”‚       β”œβ”€β”€β”€07. Remove Duplicates From Sorted List- II GQ
β”‚   β”‚   β”‚       β”‚       README.md
β”‚   β”‚   β”‚       β”‚       solution 7.java
β”‚   β”‚   β”‚       β”‚
β”‚   β”‚   β”‚       β”œβ”€β”€β”€08. Remove nth Node from List end GQ
β”‚   β”‚   β”‚       β”‚       README.md
β”‚   β”‚   β”‚       β”‚       solution 8.java
β”‚   β”‚   β”‚       β”‚
β”‚   β”‚   β”‚       β”œβ”€β”€β”€09. Add two no. as List
β”‚   β”‚   β”‚       β”‚       README.md
β”‚   β”‚   β”‚       β”‚       solution 9.java
β”‚   β”‚   β”‚       β”‚
β”‚   β”‚   β”‚       β”œβ”€β”€β”€10. Reverse LL in K group GQ
β”‚   β”‚   β”‚       β”‚       Iterative Solution Self.md
β”‚   β”‚   β”‚       β”‚       Recursive Solution Apna College.md
β”‚   β”‚   β”‚       β”‚       solution 10-AC.java
β”‚   β”‚   β”‚       β”‚       solution 10-self.java
β”‚   β”‚   β”‚       β”‚
β”‚   β”‚   β”‚       β”œβ”€β”€β”€11. Rotate LL by K place
β”‚   β”‚   β”‚       β”‚       README.md
β”‚   β”‚   β”‚       β”‚       solution 11.java
β”‚   β”‚   β”‚       β”‚
β”‚   β”‚   β”‚       └───12. Reverse LL-ii
β”‚   β”‚   β”‚               README.md
β”‚   β”‚   β”‚               solution 12.java
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€β”€2. Doubly-Linked-List
β”‚   β”‚   β”‚   β”œβ”€β”€β”€Basic Operations
β”‚   β”‚   β”‚   β”‚       DoublyLL.java
β”‚   β”‚   β”‚   β”‚       README.md
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   └───Questions
β”‚   β”‚   β”‚       └───1. Two Pair Sum
β”‚   β”‚   β”‚               2 pair sum Q.pdf
β”‚   β”‚   β”‚               2 pair sum solution.java
β”‚   β”‚   β”‚
β”‚   β”‚   └───3. Circular-Linked-List
β”‚   β”‚           CircularLL.java
β”‚   β”‚           README.md
β”‚   β”‚
β”‚   β”œβ”€β”€β”€02. Stack
β”‚   β”‚   β”œβ”€β”€β”€Basic Operation
β”‚   β”‚   β”‚   β”œβ”€β”€β”€1. Stack using Array
β”‚   β”‚   β”‚   β”‚       Resources.md
β”‚   β”‚   β”‚   β”‚       Stack_Array.java
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   β”œβ”€β”€β”€2. Stack using LinkList
β”‚   β”‚   β”‚   β”‚       Resources.md
β”‚   β”‚   β”‚   β”‚       Stack_LinkList.java
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   └───3. Stack using Queue
β”‚   β”‚   β”‚           Resources.md
β”‚   β”‚   β”‚           Stack_Queue.java
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€β”€Infix Prefix Postfix
β”‚   β”‚   β”‚   β”œβ”€β”€β”€01. Infix to Postfix
β”‚   β”‚   β”‚   β”‚       infixPostfix.cpp
β”‚   β”‚   β”‚   β”‚       InfixPostfix.java
β”‚   β”‚   β”‚   β”‚       pseudocode.png
β”‚   β”‚   β”‚   β”‚       README.md
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   β”œβ”€β”€β”€02. Infix to Prefix
β”‚   β”‚   β”‚   β”‚       InfixPrefix.java
β”‚   β”‚   β”‚   β”‚       pseudocode.png
β”‚   β”‚   β”‚   β”‚       README.md
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   β”œβ”€β”€β”€03. Postfix to Infix
β”‚   β”‚   β”‚   β”‚       PostfixInfix.java
β”‚   β”‚   β”‚   β”‚       pseudocode.png
β”‚   β”‚   β”‚   β”‚       README.md
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   β”œβ”€β”€β”€04. Prefix to Infix
β”‚   β”‚   β”‚   β”‚       PrefixInfix.java
β”‚   β”‚   β”‚   β”‚       pseudocode.png
β”‚   β”‚   β”‚   β”‚       README.md
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   β”œβ”€β”€β”€05. Postfix to Prefix
β”‚   β”‚   β”‚   β”‚       PostfixPrefix.java
β”‚   β”‚   β”‚   β”‚       pseudocode.png
β”‚   β”‚   β”‚   β”‚       README.md
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   └───06. Prefix to Postfix
β”‚   β”‚   β”‚           PrefixPostfix.java
β”‚   β”‚   β”‚           pseudocode.png
β”‚   β”‚   β”‚           README.md
β”‚   β”‚   β”‚
β”‚   β”‚   └───LeetCode Questions
β”‚   β”‚       β”œβ”€β”€β”€01. Remove Outermost Parentheses #1021
β”‚   β”‚       β”‚       Remove Outermost Parentheses.md
β”‚   β”‚       β”‚       Solution.java
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€02. Remove All Adjacent Duplicates In String #1047
β”‚   β”‚       β”‚       Remove All Adjacent Duplicates In String.md
β”‚   β”‚       β”‚       Solution.java
β”‚   β”‚       β”‚       Solution_Vikash.java
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€03. Build an Array With Stack Operations #1441
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚       Solution.java
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€04. Baseball Game #682
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚       Solution.java
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€05. Next Greater Element I #496
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚       Solution_Optimised.java
β”‚   β”‚       β”‚       Solution_self.java
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€06. Crawler Log Folder #1598
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚       Solution.java
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€07. Make The String Great #1544
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚       Solution_self.java
β”‚   β”‚       β”‚       Solution_Vikash.java
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€08. Backspace String Compare #844
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚       Solution_self.java
β”‚   β”‚       β”‚       Solution_Vikash.java
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€09. Valid Parentheses #20
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚       Solution.java
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€10. Design a Stack With Increment Operation #1381
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚       Solution.java
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€11. Minimum Add to Make Parentheses Valid #921
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚       Solution.java
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€12. Score of Parentheses #856
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚       Solution.java
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€13. Daily Temperatures #739
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚       Solution.java
β”‚   β”‚       β”‚
β”‚   β”‚       └───14. Validate Stack Sequences #946
β”‚   β”‚               Resources.md
β”‚   β”‚               Solution.java
β”‚   β”‚
β”‚   β”œβ”€β”€β”€03. Queue
β”‚   β”‚   └───Basic Operations
β”‚   β”‚       β”œβ”€β”€β”€01. Queue using Array
β”‚   β”‚       β”‚       pseudocode.png
β”‚   β”‚       β”‚       Queue_Array.java
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€02. Queue using Linked List
β”‚   β”‚       β”‚       Queue_LinkedList.java
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€03. Queue using Stacks
β”‚   β”‚       β”‚       Queue_Stack.java
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€04. Circular Queue using Array
β”‚   β”‚       β”‚       CircularQueue_Array.java
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€05. Circular Queue using Linked List
β”‚   β”‚       β”‚       CircularQueue_LinkedList.java
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€β”€06. Dequeue using circular array
β”‚   β”‚       β”‚       Dequeue_CircularArray.java
β”‚   β”‚       β”‚       Resources.md
β”‚   β”‚       β”‚
β”‚   β”‚       └───07. Priority Queue
β”‚   β”‚               KLargestElement.java
β”‚   β”‚               PriorityQueue.java
β”‚   β”‚               README.md
β”‚   β”‚
β”‚   β”œβ”€β”€β”€04. Tree
β”‚   β”‚   β”œβ”€β”€β”€01. Introduction to Binary Tree
β”‚   β”‚   β”‚       README.md
β”‚   β”‚   β”‚       traversals.cpp
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€β”€02. Binary Search Tree
β”‚   β”‚   β”‚       BinarySearchTree.cpp
β”‚   β”‚   β”‚       BinarySearchTree.java
β”‚   β”‚   β”‚       Readme.md
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€β”€03. AVL Tree
β”‚   β”‚   β”‚       AVLTree.cpp
β”‚   β”‚   β”‚       AVLTree.java
β”‚   β”‚   β”‚       README.md
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€β”€04. Trie
β”‚   β”‚   β”‚       README.md
β”‚   β”‚   β”‚       Trie_Array.java
β”‚   β”‚   β”‚       Trie_HashMap.java
β”‚   β”‚   β”‚
β”‚   β”‚   └───05. Heap
β”‚   β”‚           MinHeap.cpp
β”‚   β”‚           MinHeap.java
β”‚   β”‚           README.md
β”‚   β”‚
β”‚   β”œβ”€β”€β”€05. ArrayList
β”‚   β”‚       ArrayList.java
β”‚   β”‚
β”‚   β”œβ”€β”€β”€06. HashMap
β”‚   β”‚       MyHashMap.java
β”‚   β”‚       README.md
β”‚   β”‚
β”‚   β”œβ”€β”€β”€07. Set
β”‚   β”‚       MyHashSet.java
β”‚   β”‚       MyLinkedHashSet.java
β”‚   β”‚       MyTreeSet.java
β”‚   β”‚       README.md
β”‚   β”‚       SubarrayWith0Sum.java
β”‚   β”‚
β”‚   └───08. Graph
β”‚           MyGraph.java
β”‚           README.md
β”‚
└───02. Algorithms
    β”‚   README.md
    β”‚
    β”œβ”€β”€β”€01. Arrays
    β”‚   β”œβ”€β”€β”€01. Reverse an Array
    β”‚   β”‚       README.md
    β”‚   β”‚       ReverseArray.java
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€02. Find the maximum and minimum element in an array
    β”‚   β”‚       README.md
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€03. 215. Kth Largest Element in an Array
    β”‚   β”‚       brute_force.java
    β”‚   β”‚       README.md
    β”‚   β”‚       Using_priorityQueue.java
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€04. 75. Sort Colors OR Sort012
    β”‚   β”‚       brute_force.java
    β”‚   β”‚       Optimal_Solution.java
    β”‚   β”‚       README.md
    β”‚   β”‚       Solution.cpp
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€05. Move all negative numbers to one side
    β”‚   β”‚       README.md
    β”‚   β”‚       Solution.java
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€06. Find the Union and Intersection of Two Arrays
    β”‚   β”‚       README.md
    β”‚   β”‚       Union_and_Intersection.java
    β”‚   β”‚       Using_BinarySearch.java
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€07. Cyclically Rotate an Array
    β”‚   β”‚       Brute_Force.java
    β”‚   β”‚       Optimal_Solution.java
    β”‚   β”‚       README.md
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€08. Kadane's Algorithm
    β”‚   β”‚   β”œβ”€β”€β”€53. Maximum Subarray
    β”‚   β”‚   β”‚       README.md
    β”‚   β”‚   β”‚       Solution.java
    β”‚   β”‚   β”‚
    β”‚   β”‚   └───918. Maximum Sum Circular Subarray
    β”‚   β”‚           README.md
    β”‚   β”‚           Solution.java
    β”‚   β”‚           Solution2.java
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€09. Minimize the Heights II
    β”‚   β”‚       README.md
    β”‚   β”‚       Solution.java
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€10. 45. Jump Game II
    β”‚   β”‚       README.md
    β”‚   β”‚       Solution.java
    β”‚   β”‚
    β”‚   └───11. Jumping on the Clouds
    β”‚           README.md
    β”‚           Solution.java
    β”‚           Solution2.java
    β”‚
    β”œβ”€β”€β”€02. Sorting
    β”‚   β”‚   README.md
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€01. Bubble Sort
    β”‚   β”‚       BubbleSort.java
    β”‚   β”‚       README.md
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€02. InsertionSort
    β”‚   β”‚       Insertion_Sort.java
    β”‚   β”‚       README.md
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€03. Selection Sort
    β”‚   β”‚       README.md
    β”‚   β”‚       Selection_Sort.java
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€04. Quick Sort
    β”‚   β”‚       Quick_Sort.java
    β”‚   β”‚       README.md
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€05. Merge Sort
    β”‚   β”‚       Merge_Sort.java
    β”‚   β”‚       README.md
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€06. Count Sort
    β”‚   β”‚       Count_Sort.java
    β”‚   β”‚       README.md
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€07. Radix Sort
    β”‚   β”‚       Radix_Sort.java
    β”‚   β”‚       README.md
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€08. Heap Sort
    β”‚   β”‚       README.md
    β”‚   β”‚
    β”‚   └───09. Cyclic Sort
    β”‚           CyclicSort.java
    β”‚
    β”œβ”€β”€β”€03. Searching
    β”‚   β”œβ”€β”€β”€01. Linear Search
    β”‚   β”‚       Linear_Search.java
    β”‚   β”‚       Notes.pdf
    β”‚   β”‚       README.md
    β”‚   β”‚
    β”‚   β”œβ”€β”€β”€02. Binary Search
    β”‚   β”‚       Binary_Search.java
    β”‚   β”‚       Notes.pdf
    β”‚   β”‚       OrderAgnostic_BinarySearch.java
    β”‚   β”‚       README.md
    β”‚   β”‚
    β”‚   └───Problems
    β”‚       β”œβ”€β”€β”€01. 1295. Find Numbers with Even Number of Digits
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution.java
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€02. 1672. Richest Customer Wealth
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution.java
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€03. Floor in a Sorted Array
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution.java
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€04. Ceil in a Sorted Array
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution.java
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€05. 744. Find Smallest Letter Greater Than Target
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution.java
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€06. 34. Find First and Last Position of Element in Sorted Array
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution.java
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€07. Find position of an element in an infinite sorted array
    β”‚       β”‚       BS_in_InfiniteArray.java
    β”‚       β”‚       README.md
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€08. 852. Peak Index in a Mountain Array
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution1.java
    β”‚       β”‚       Solution2.java
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€09. 162. Find Peak Element
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution.java
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€10. 1095. Find in Mountain Array
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution.java
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€11. 33. Search in Rotated Sorted Array
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution.java
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€12. Find the Rotation Count in Rotated Sorted array
    β”‚       β”‚       README.md
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€13. 410. Split Array Largest Sum
    β”‚       β”‚       Dry run.pdf
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution.java
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€14. 69. Sqrt(x)
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution.java
    β”‚       β”‚       Solution2.java
    β”‚       β”‚
    β”‚       β”œβ”€β”€β”€15. 278. First Bad Version
    β”‚       β”‚       README.md
    β”‚       β”‚       Solution.java
    β”‚       β”‚
    β”‚       └───16. 167. Two Sum II - Input array is sorted
    β”‚               better_approach.java
    β”‚               brute-force.java
    β”‚               optimal_approach.java
    β”‚               README.md
    β”‚
    └───04. Recursion
        β”‚   README.md
        β”‚
        └───Problems
            └───01. Sum triangle from array
                    README.md
                    Solution.java

About

I had started learning Data Structures and Algorithms on April 1, 2021, and this repo contains the result of my daily grind on Data structures and Algorithms.

https://bit.ly/pranayDSAsheet

License:MIT License


Languages

Language:Java 82.0%Language:C++ 18.0%