Welcome to the Data Structures and Algorithms repository! This repository consists of fundamental and advanced concepts, along with real-world coding problems to level up your problem-solving skills.
-
Core Data Structures
Implementations of Arrays, Linked Lists, Stacks, Queues, Trees, Graphs, and more.
-
Algorithm Essentials
Delve into Sorting, Searching, Divide & Conquer, Greedy, and Dynamic Programming.
-
Notes and Resources
Notes and necessary Resources in Markdown and PDF format.
-
Multi-Language Support Codes implemented in:
- Python
- Java
- C++
- C
Time Complexity
- Introduction
- Frequency Count Method
- Analysis of For Loop
- Complexities of For Loop
- Analysis of if & while
- Types of function / Classes of Time function
- Associativity
- Asymptotic Notations
- Big-O Notation
- Big-Ξ© Notation
- Big-Ξ Notation
- Properties of Asymptotic Notations
- General Properties
- Reflexive Property
- Transitive Property
- Symmetric Property
- Transpose-Symmetric Property
- Comparison of Functions
- Case Analysis
- Best-Case Analysis
- Worst-Case Analysis
- Average-Case Analysis
- Divide and Conquer
- Divide
- Conquer
- Combine
Data Structures
- Array
- Insertion
- Traversal
- Deletion
- Searching
- Reverse
- Pointer and Arrays
- Introduction to 2-D Arrays
- Pointers and 2-D Arrays
- Linked List
- Singly Linked List
- Implementation
- Insertion
- Deletion
- Traversal
- Length
- Searching
- Reverse
- Doubly Linked List
- Implementation
- Insertion
- Deletion
- Traversal
- Length
- Searching
- Reverse
- Circular Linked List
- Implementation
- Insertion
- Deletion
- Traversal
- Length
- Searching
- Reverse
- Doubly Circular Linked List
- Implementation
- Insertion
- Deletion
- Traversal
- Length
- Searching
- Reverse
- Singly Linked List
- Stack
- Stack using Array
- Stack using Linked List