Algorithms & Data Structures I
Implementations and exercises for Algo I 2022/2023 course at Sapienza Universita' di Roma (Computer Science Bachelor's degree) in Rust 🦀, cos it's more fun!
Table of contents
The content in the checked boxes was summarized / implemented / completed. If you need explanations on some content, just open an issue, and I'll be happy to help 😄.
(Completed in Rust 56 out of 149 ~ 38%)
- Introduction
- Big O notation
- Cost
-
Searching Algorithms
- Linear Search
- Binary Search (iterative)
- Ex 1 (TODO: test again)
- Recursion
- Let's just not... pt.1
- Let's just not... pt.2
- Naive Sorting
- Merge Sort
- Quick Sort
- Heap Sort
- Linear Sorting
- Linked List
- Queue & Stack
- Linked List exercises
-
Tree
- Graph Theory
- TreeNode (Tree built with Records)
- Positional Binary Tree (Basically a Heap)
- ParentTree (Tree built with Two Arrays)
- Operations
- Ex 1
- Ex 2
- DFS/BFS
- Dictionary
- Binary Search Tree
- Black-Red Tree
- Exercises pt.1
- Exercises pt.2
- Exercises pt.3
-
Other
- Tim Sort
- Has Duplicates in Merge Sort
- Merge Sort on Linked List (iterative)
- Python List (TODO: look info about it's implementation)
- [Pytohn Utils](https://twiki.di.uniroma1.it/pub/Intro_algo/AD/Dispense/METODI_UTILI_IN_PYTHON.pdf