Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/prathameshdhande22/data-structure-and-algorithms

This Repository Contains all the code which i have written while doing DSA.
https://github.com/prathameshdhande22/data-structure-and-algorithms

algorithm algorithms clanguage data-structures dsa dsa-algorithm java leetcode

Last synced: 16 days ago
JSON representation

This Repository Contains all the code which i have written while doing DSA.

Awesome Lists containing this project

README

        

# Data Structure And Algorithms

![](https://img.shields.io/badge/language-Java-blue?style=flat-square&logo=java)


This Repository Contains my Learning codes for Data Structure And Algorithms in Java Language.
Currently I m Learning Data Structure and Algorithms.

Contains all the Codes which were taught in the alpha 3.0 course of apna college

Contains in Java Language

#### 👉 HandWritten Notes will be Uploaded When the Course completes. 👈

---

## Topics Covered

[Maths For DSA](/src/tutorial/Math)
[Bit Manipulation](/src/tutorial/BitMagic)
[Patterns](/src/tutorial/Patterns)
[Arrays](src/tutorial/Arrays)
[2D Arrays](/src/tutorial/Arrays2D)
[Strings](/src/tutorial/Strings)
[Sorting](/src/tutorial/Sorting)
[Recursion](/src/tutorial/Recursion)
[Divide & Conquer](/src/tutorial/DivideAndConquer)
[BackTracking](/src/tutorial/Backtracking)
[LinkedList](/src/tutorial/Linkedlist)
[Stack](/src/tutorial/Stack)
[Queue](/src/tutorial/Queue)

---

## Contents in the Repository

1. **Maths for DSA**
- Factors with Optimized Code
- Finding GCD of A Number
- Number concepts like Getting Specified Number or reversing the number
- Prime number with seive of Erathosthenes
- Square Root
2. **Bit Manipulation**
- Bit operations
- Get the ith Bit
- Set the ith Bit
- Check if the number is even or not
- Clear the ith Bits
- Fast Exponential
- Clear range of Bits
3. **Patterns**
- Butterfly Pattern
- Hollow Square Pattern
- Pyramid Star Pattern
4. **Arrays**
- Finding Minimum and Maximum from Array
- Creating the Pairs
- Reversing the Array
- Searching in the Array using Linear Search & Binary Search
- Subarray creating using Brute Approach, Prefix Sum and Kadanes Algorithm
5. **2D Arrays**
- 2D Array basic and Linear Search.
- Diagonal Sum of and Array
- Search in a Sorted Matrix
- Print the Spiral Matrix
6. **Strings**
- First Letter to Uppercase Problem
- Largest String Problem
- Palindrome String
- Shortest Path Problem
- String Compression Problem
7. **Sorting**
- Bubble Sort
- Counting Sort
- Insertion Sort
- Selection Sort
8. **Recursion**
- Recursion Basics
- Check if Array is Sorted or Not
- Binary String without consecutive of Ones
- First Occurence in an Array
- Last Occurence in an Array
- Friends Pairing Problem
- Power of xy with Optimized Code
- Remove Duplicates from the String
- Tiling Problem
- Tower of Hanoi Problem
9. **Divide & Conquer**
- Merge Sort
- Quick Sort
- Search in a Rotated Sorted Array
10. **Backtracking**
- Backtracking on array
- Find Subsets Problem
- NQueens Problem
- Permutation Problem
- Gridways Problem
- Sudoku Solver
11. **ArrayList**
- Container with Most Water Problem
- Pair Sum 1 in Sorted Array
- Pair Sum 2 in Rotated Sorted Array
12. **Linked List**
- Linked List Implementation using OOPs with many Methods like AddLast, AddFirst, etc.
- Check if a Linked List is Palindrome or Not.
- Detect Cycle/Loop in a Linked List.
- Remove Cycle/Loop from the Linked List.
- Implementing the Linked List using Java Collection Framework.
- Merge Sort in Linked List.
- Zig Zag Linked List.
- Doubly Linked List with its Methods implemented.
13. **Stack**
- Stack Implementation using ArrayList.
- Stack Implementation using LinkedList.
- Push at Bottom of the Stack.
- Reverse Stack.
- Stack using Java Collection Framework.
- Stack Span Problem.
- Next Greater Element.
- Valid Parentheses.
- Duplicate Parentheses.
- Max Area in Histogram.
- Reverse String using Stack.
- Implementation of Stack using 2 Queues.
14. **Queue**
- Queue implementation using Array.
- Queue Implementation using LinkedList.
- Circular Queue implementation using Array.
- Queue Implementation using Java Collection Framework.
- Implementation of Queue using 2 Stacks.
- First Non Repeating Character in the String.

#### Question & Practice

1. **Backtracking**
- Rat in a Maze Game Problem
2. **Recursion**
- Binary Search Using Recursion
- Trap Rainwater problem
- Set bit using Recursion
- Transpose of Matrix Problem.
3. **ArrayList**
- Monotonic Array.
4. **Stack**
- Palindrome LinkedList.
- Simplify Path

---

## Author : Prathamesh Dhande