How gotfridvadim-pixel/algorithms-and-data-structures works
This repository is a collection of independent algorithms-and-data-structures coursework programs, plus a reusable hash-table implementation. The README highlights sorting, binary search, and stack/queue/deque exercises; the tree also contains heap and binary-search-tree exercises. There is no shared application workflow across the labs. The shown command-line examples read input and print results; the hash-table demo constructs and displays a table. Relationships for unsampled exercises are omitted rather than inferred.
Main entry points: main.py Hash-table demo · hash_table.py HashTable · e.cpp Merge sort · a.cpp Binary search
Components 18
Hash table
- Hash-table demo
HashTableCoursework/main.py - HashTable
HashTableCoursework/hash_table.py - Hash functions
HashTableCoursework/hash_functions.py
Sorting
- Sorting exercises
lab1 - Merge sort
lab1/e.cpp
Binary search
- Search exercises
lab2 - Binary search
lab2/a/a.cpp - Nearest value search
lab2/b/b.cpp - Range counting
lab2/i.py
Containers
- Container exercises
lab3 - Deque commands
lab3/e.py
Heaps
- Heap exercises
lab4 - Min-heap sort
lab4/b.py - Max-heap commands
lab4/d/d.cpp - Min-heap commands
lab4/с/c.cpp
Search trees
- Tree exercises
lab5 - Binary search tree
lab5/a.py
Other components
- Command-line user
Connections 22
- Command-line user → Hash-table demo: runs demo
HashTableCoursework/main.py - Hash-table demo → HashTable: creates and updates
HashTableCoursework/main.py - Hash-table demo → Hash functions: uses hash
HashTableCoursework/main.py - HashTable → Hash functions: imports hash
HashTableCoursework/hash_table.py - Command-line user → Merge sort: provides input
lab1/e.cpp - Merge sort → Command-line user: prints sorted values
lab1/e.cpp - Command-line user → Binary search: provides input
lab2/a/a.cpp - Binary search → Command-line user: prints membership
lab2/a/a.cpp - Command-line user → Nearest value search: provides input
lab2/b/b.cpp - Nearest value search → Command-line user: prints nearest values
lab2/b/b.cpp - Command-line user → Range counting: provides input
lab2/i.py - Range counting → Command-line user: prints counts
lab2/i.py - Command-line user → Deque commands: sends commands
lab3/e.py - Deque commands → Command-line user: prints responses
lab3/e.py - Command-line user → Min-heap sort: provides values
lab4/b.py - Min-heap sort → Command-line user: prints sorted values
lab4/b.py - Command-line user → Max-heap commands: sends commands
lab4/d/d.cpp - Max-heap commands → Command-line user: prints extraction
lab4/d/d.cpp - Command-line user → Min-heap commands: sends commands
lab4/с/c.cpp - Min-heap commands → Command-line user: prints extraction
lab4/с/c.cpp - Command-line user → Binary search tree: sends commands
lab5/a.py - Binary search tree → Command-line user: prints results
lab5/a.py