Skip to content

This repository contains well-structured solutions and Java implementations of Data Structures and Algorithms, following the Apna College DSA course.

Notifications You must be signed in to change notification settings

akashdeep023/Java-Coding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alpha (Data Structure & Algorithm)


All chapters in Alpha

🎗️ 01-Welcome_To_Alpha
🎗️ 02-Join_Telegram_Channel
🎗️ 03-Course_Introduction
🎗️ 04-Prerequisites
🎗️ 05-Live_Mentorship_Sessions
🎗️ 06-Flowcharts_&_Pseudocode
🎗️ 07-Variables_&_DataTypes
🎗️ 08-Operators
🎗️ 09-Conditional_Statement
🎗️ 10-Loops
🎗️ 11-Patterns_(Part-I)
🎗️ 12-Function_&_Methods
🎗️ 13-Pattern_(Part-II)
🎗️ 14-Arrays
🎗️ 15-Basic_Sorting_Algorithms
🎗️ 16-2D_Arrays
🎗️ 17-Strings
🎗️ 18-Bits_Manipulation
🎗️ 19-Object_Oriented_Programming_(OOPs)
🎗️ 20-Recursion_Basics
🎗️ 21-Divide_&_Conquer
🎗️ 22-Time_&_Space_Complexity
🎗️ 23-Backtracking
🎗️ 24-Array_List
🎗️ 25-Linked_List_(Part-I)
🎗️ 26-Linked_List_(Part-II)
🎗️ 27-Stacks
🎗️ 28-Queues
🎗️ 29-Greedy_Algorithms
🎗️ 30-Binary_Trees_(Part-I)
🎗️ 31-Binary_Trees_(Part-II)
🎗️ 32-Binary_Trees_(Part-III)
🎗️ 33-Binary_Search_Trees_(Part-I)
🎗️ 34-Binary_Search_Trees_(Part-II)
🎗️ 35-Heaps
🎗️ 36-Hashing
🎗️ 37-Tries
🎗️ 38-Graphs_(Part-I)
🎗️ 39-Graphs_(Part-II)
🎗️ 40-Graphs_(Part-III)
🎗️ 41-Graphs_(Part-IV)
🎗️ 42-Graphs_(Part-V)
🎗️ 43-Graphs_Supplemental
🎗️ 44-DP_(Part-I)
🎗️ 45-DP_(Part-II)
🎗️ 46-DP_(Part-III)
🎗️ 47-DP_(Part-IV)
🎗️ 48-DP_(Part-V)
🎗️ 49-DP_(Part-VI)
🎗️ 50-Segment_Trees
🎗️ 51-Certificate_of_Completion


5 Additional chapters in Alpha Plus

💫 06. Community_Link
💫 07. Extra_Resources
💫 15. Arrays_(Part-II)
💫 21. Recursion_(Part-II)
💫 28. Stacks_(Part-II)

Sorting Algorithms

✨ 1. Bubble sort algorithm -> Basic_Sorting_Algorithms Chapter
✨ 2. Selection sort algorithm -> Basic_Sorting_Algorithms Chapter
✨ 3. Insertion sort algorithm -> Basic_Sorting_Algorithms Chapter
✨ 4. Counting sort algorithm -> Basic_Sorting_Algorithms Chapter
✨ 5. Inbuilt sort algorithm -> Basic_Sorting_Algorithms Chapter
✨ 6. Merge sort algorithm -> Divide_&_Conquer Chapter
✨ 7. Quick sort algorithm -> Divide_&_Conquer Chapter
✨ 8. Topological Sort algorithum (Dependency) -> Graphs Part-2 (DFS) & Graphs Part-3 (BFS) Chapter

Search Algorithms

✨ 1. Linear search algorithm -> Arrays Chapter
✨ 2. Binary search algorithm -> Arrays Chapter

Recursion Concept

✨ 1. Basic of recursion
✨ 2. Divide & Conquer
✨ 3. Backtracking

Approach

🎗️ 1. Two pointer approach -> First pointer start index and Last pointer end index
🎗️ 2. Slow Fast approach -> Slow increment by one and Fast increment by two


Type of Data Structure

Linear Data Structure :

🤞 1. Array
🤞 2. ArrayList
🤞 3. LinkedList
🤞 4. Stack -> LIFO
🤞 5. Queue -> FIFO

Non-Linear / Hierarchical Data Structure :

🤞 1. Trees
🤞 2. Heaps
🤞 3. Sets
🤞 4. Maps
🤞 5. Trie
🤞 6. Graph

Internally Use

Hashing (Use Two data structures to generate)
├── map (3 Types)
│   ├── HashMap (Unordered)
│   ├── LinkedHashMap (Ordered)
│   └── TreeMap (Sorted in ascending order)
|
└── set (3 Types)
    ├── HashSet (Unordered)
    ├── LinkedHashSet (Ordered)
    └── TreeSet (Sorted in ascending order)

HashSet -> HashMap -> LinkedList (Unordered)

LinkedHashSet -> LinkedHashMap -> Doubly LinkedList (Ordered)

TreeSet -> TreeMap -> Red Black Self Balancing BST (Sorted in ascending order)

About

This repository contains well-structured solutions and Java implementations of Data Structures and Algorithms, following the Apna College DSA course.

Topics

Resources

Stars

Watchers

Forks

Languages