-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Perfect, Abhijeet ๐ฅ
Hereโs a more detailed, structured, and professional Wiki Home Page for your Data-Structures-and-Algorithms-Java repository.
You can directly paste this into your GitHub Wiki home page.
Welcome to the official documentation of Data-Structures-and-Algorithms-Java ๐
This repository is a comprehensive and structured collection of Data Structures and Algorithms implemented in Java, designed for:
๐ฏ Technical Interview Preparation
๐ Competitive Programming
๐ง Problem-Solving Mastery
๐ Academic Coursework
๐ผ Placement Preparation
๐ Repository Overview
๐ Folder Structure
๐งฎ Time & Space Complexity Guide
๐ Searching Algorithms
๐ Sorting Algorithms
๐งฑ Core Data Structures
๐ง Recursion & Backtracking
๐ณ Trees
๐ Graphs
โก Dynamic Programming
๐งช Coding Standards
๐ท Problem Classification System
๐ฏ Interview Preparation Roadmap
๐ค Contribution Guidelines
This project focuses on:
Clean Java implementations
Beginner-friendly logic
Step-by-step algorithm explanation
Proper documentation & comments
Optimized approaches
Interview-focused patterns
Each program contains:
โ๏ธ Problem Statement
โ๏ธ Algorithm Explanation
โ๏ธ Time Complexity
โ๏ธ Space Complexity
โ๏ธ Edge Case Handling
โ๏ธ Clean Output Formatting
Data-Structures-and-Algorithms-Java/
โ
โโโ Searching/
โ โโโ LinearSearch.java
โ โโโ BinarySearch.java
โ โโโ Variations/
โ
โโโ Sorting/
โ โโโ BubbleSort.java
โ โโโ SelectionSort.java
โ โโโ InsertionSort.java
โ โโโ MergeSort.java
โ โโโ QuickSort.java
โ
โโโ Recursion/
โ
โโโ LinkedList/
โ
โโโ Stack/
โ
โโโ Queue/
โ
โโโ Trees/
โ
โโโ Graphs/
โ
โโโ DynamicProgramming/
โ
โโโ utils/
โโโ InputHelper.java
Operation | Best | Average | Worst -- | -- | -- | -- Linear Search | O(1) | O(n) | O(n) Binary Search | O(1) | O(log n) | O(log n) Bubble Sort | O(n) | O(nยฒ) | O(nยฒ) Merge Sort | O(n log n) | O(n log n) | O(n log n) Quick Sort | O(n log n) | O(n log n) | O(nยฒ)
Iterative search
Works on unsorted arrays
Time Complexity: O(n)
Works only on sorted arrays
Iterative & Recursive implementations
Time Complexity: O(log n)
-
Includes:
First Occurrence
Last Occurrence
Floor / Ceil
Rotated Array Search
Adjacent comparison
Stable
Easy to understand
Select minimum element
Not stable
Fewer swaps
Best for small arrays
Adaptive
Divide and Conquer
Stable
O(n log n)
Divide and Conquer
In-place sorting
Fast in practice
Traversal
Prefix Sum
Two Pointer Technique
Sliding Window
Singly Linked List
Doubly Linked List
Reverse Linked List
Cycle Detection
Array implementation
LinkedList implementation
Balanced Parentheses
Next Greater Element
Circular Queue
Deque
Priority Queue
Binary Tree
Binary Search Tree
-
Tree Traversals:
Inorder
Preorder
Postorder
Level Order
Height / Diameter
Lowest Common Ancestor
AVL Tree (Planned)
-
Graph Representation
Adjacency Matrix
Adjacency List
BFS
DFS
Cycle Detection
Topological Sort
Dijkstra's Algorithm
Minimum Spanning Tree (Planned)
Fibonacci
0/1 Knapsack
Longest Common Subsequence
Longest Increasing Subsequence
Matrix Chain Multiplication
This repository follows:
Meaningful variable names
Proper indentation
JavaDoc-style comments
Clear method separation
Modular code design
Each problem is tagged with:
๐ข Easy
๐ก Medium
๐ด Hard
And categorized by:
Topic
Pattern
Company Frequency (Planned)
Interview Importance
Arrays & Strings
Basic Searching & Sorting
Recursion
Backtracking
Linked List
Stack & Queue
Hashing
Trees
BST
Heap
Graphs
Dynamic Programming
๐ LeetCode problem mapping
๐ Performance comparison benchmarks
๐ PDF Notes
๐ฅ Video explanations
๐งช Unit tests
๐ Maven / Gradle build support
If youโd like to contribute:
Fork the repository
Create a feature branch
Follow coding standards
Add proper documentation
Submit a pull request
Abhijeet Giri
Java | DSA | Backend | Cloud
If you'd like next, I can generate:
๐ Individual detailed wiki page for Merge Sort
๐ Complexity visual explanation page
๐ณ Complete Trees theory page
๐ Complete Graph theory page
๐ฏ FAANG-focused interview version of this wiki
Just tell me which one to build next ๐