For this Portfolio Project, I made a recommendation program that:
-
Generates random workout classes for fictional studios
-
Inserts the tags for such classes into a self-balancing Binary Search Tree
-
Allows a user to search through the BST data structure for workout classes of a certain type and during a stipulated time period
-
Performs the stipulated “autocomplete” search function with time complexity of
O(log(n) + t)
, wheren
is the number of nodes in the tree andt
is the number of nodes that contain the search term -
Display a list of workout classes that fit the user’s criteria.
Find it here on Github and the blogpost on Dev.to here.
Here’s a GIF of the program in action!
This took me about 5 (very intense) days to make, and in the process I learned about pickling, adding the remove function in a BST, as well as self-balancing function!