mirror of
https://github.com/opus-tango/DSA-reference.git
synced 2026-03-20 12:05:24 +00:00
100 lines
2.1 KiB
Markdown
100 lines
2.1 KiB
Markdown
# Data Structures and Algorithms Reference
|
|
|
|
This repository is my personal reference for data structures and algorithms. It contains implementations of standard data structures and algorithms in a variety of programming languages, along with explanations, examples, and analysis.
|
|
|
|
## Table of Contents
|
|
|
|
- [Languages](#languages)
|
|
- [Data Structures](#data-structures)
|
|
- [Algorithms](#algorithms)
|
|
- [License](#license)
|
|
- [References](#references)
|
|
|
|
## Languages
|
|
|
|
The project will include examples in the following languages:
|
|
|
|
- C
|
|
- C++
|
|
- Java
|
|
- Kotlin
|
|
- Python
|
|
- Rust
|
|
- Typescript
|
|
|
|
## Data Structures
|
|
|
|
The project will include examples of the following data structures:
|
|
|
|
- Arrays
|
|
- Static Array
|
|
- Dynamic Array
|
|
- Linked List
|
|
- Singly Linked List
|
|
- Doubly Linked List
|
|
- Circular Linked List
|
|
- Stack (LIFO)
|
|
- Queue (FIFO) and Deque (Doubly Ended Queue)
|
|
- Hash Table
|
|
- KV Hash Table
|
|
- Collision Detection
|
|
- Trees
|
|
- Binary Tree
|
|
- Binary Search Tree
|
|
- AVL Tree (Self-Balancing)
|
|
- Red-Black Tree (Self-Balancing)
|
|
- B-Tree (Self-Balancing)
|
|
- Trie (Prefix Tree)
|
|
- Tree algorithms
|
|
- Graphs
|
|
- Adjacency List
|
|
- Adjacency Matrix
|
|
- Directed Graphs
|
|
- Weighted Graphs
|
|
- Adjacency List/Matrix
|
|
- Disjoint Set (Union-Find)
|
|
|
|
## Algorithms
|
|
|
|
- Sorting
|
|
- Bubble Sort (Maybe)
|
|
- Selection Sort (Maybe)
|
|
- Insertion Sort
|
|
- Merge Sort
|
|
- Quick Sort
|
|
- Heap Sort
|
|
- Searching Algorithms
|
|
- Linear Search
|
|
- Binary Search
|
|
- Graph Traversal
|
|
- Depth-First Search (DFS)
|
|
- Breadth-First Search (BFS)
|
|
- Dijkstra's Algorithm
|
|
- Bellman-Ford Algorithm
|
|
- Floyd-Warshall Algorithm
|
|
- Kruskal's Algorithm
|
|
- Prim's Algorithm
|
|
- Minimum Spanning Tree (MST)
|
|
- Recursion and Backtracking
|
|
- Dynamic Programming
|
|
- Memoization
|
|
- Tabulation
|
|
- Greedy Algorithms
|
|
- Fractional Knapsack Problem
|
|
- Activity Selection Problem
|
|
- Huffman Coding
|
|
- Sieve of Eratosthenes (Prime Number Generation)
|
|
- Euclidean Algorithm (Greatest Common Divisor)
|
|
- String Algorithms
|
|
- KMP Algorithm
|
|
- Rabin-Karp Algorithm
|
|
- Bit Manipulation
|
|
|
|
## License
|
|
|
|
All rights reserved. (Might open it up in the future)
|
|
|
|
## References
|
|
|
|
None yet
|