Skip to content

jameshbush/UdacityDSAlgoP1DataStructureQuestions

Repository files navigation

Data Structures Project

This course required implementing data structures to solve problems. I used Linked Lists, Queues, Priority Queues, and Binary Trees. This work is my own. It is not a tutorial. If you want to get a sense of my ability, I recommend looking at the LRU Cache, and Huffman Coding files.

Implements Least Recently Used Caching algorithm similar to this Python functools decorator. My cache tracks the most recently used elements with a Linked List Queue. It refreshes elements in queue in constant O(1) time using a hash map.

Searches recursively for files within a path ending with a suffex parameter. This is easily implemented with os.walk() docs, however the instructions asked to use os.path.isdir(path), os.path.isfile(path), and os.listdir(path).

Uses a priority queue docs to build a binary search tree (BST). Uses depth first search (DFS) postorder traversal for both encoding and decoding. Decoding method iterates through encoded string, and searches for potential code matches within hashed dictionary.

Recursive solution traverses a user group hierarchy. It determines if a user belongs to a group directly or if their group (recoursively) belongs to a group.

Fun chanlenge to practice linked lists and hashing functions.

Iterates through linked lists finding union and intersection.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages