Skip to content

This Repository contains code implementation for all the Data Structures and Algorithms

Notifications You must be signed in to change notification settings

saihariG/Ultimate-Data-Structures-and-Algorithms-in-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ultimate Data Structures and Algorithms in Java

This repository contains code implementation for all data Structures and algorithms, necessary for coding interviews

Handwritten notes will be uploaded soon !

Ultimate 90 day Study Plan

Day Topics
1 - 7 Sorting
8 - 9 Sorting revision
10 - 13 Arrays & Search Algorithms
14 - 20 Linked Lists
21 - 22 LinkedLists revision
23 - 30 Stacks and revision
31 - 35 Queues
36 - 37 Queue Revision
38 - 45 Trees
46 - 48 Trees revision
49 - 51 Heaps
52 - 53 Heaps revision
54 - 58 Tries ( yes that's not a typo ! )
59 - 60 Tries Revision
61 - 64 Disjoint Sets
65 - 75 Graphs
76 - 80 Graphs revision
80 - 90 revise all

Table of Contents

Arrays

  • Integer Reverse
  • Smallest Difference
  • kadanes Algorithm

Sorting

  • Bubble Sort
  • Insertion Sort
  • Selection Sort
  • Merge Sort
  • Quick Sort
  • Count Sort

Searching

  • Linear Search
  • Binary Search
  • First Occurrence
  • Last Occurrence
  • Number Of Occurrences

Matrix

  • Search Sorted Matrix

Linked Lists

  • Singly Linked Lists
  • Doubly Linked Lists
  • Circular Singly Linked Lists
  • Circular Doubly Linked Lists

Stack

  • Stack implementation using Array
  • Stack implementation using Linked Lists
  • Infix to Postfix
  • Infix to Prefix
  • Prefix to Infix
  • Postfix to Infix
  • Prefix & Postfix evaluation
  • Balanced Paranthesis

Queue

  • Queue Implementation using Array
  • Queue Implementation using Linked Lists
  • Circular Queue using Array
  • Circular Queue using Linked Lists
  • Double Ended Queues

Trees

  • Binary Tree
  • Binary Search Tree
  • Expression Tree

Heap

  • Max Heap
  • Min Heap

Trie

  • Trie Implementation
  • Prefix String Count

Disjoint sets

  • Union and Find
  • Union by Rank and Find by Path Compression

Graphs

Graph Representation

  • Adjacency Matrix
  • Adjacency Lists

Graph Traversal

  • Breadth First Search
  • Depth First Search

Cycle Detection

  • Detect Cycle in Directed Graph
  • Detect Cycle in UnDirected Graph

Minimum Spanning Trees

  • Prims Algorithm
  • Kruskals Algorithm

Single Source Shortest Path

  • Dijikstra's Algorithm
  • BellmanFord Algorithm

All Pair Shortest Path

  • Floyd Warshall Algorithm

Other Algorithms

  • Find Connected Components
  • Finding Bridges
  • Topological Ordering