/data-structures

Primary LanguagePythonMIT LicenseMIT

This repository is a collection of classic algorithms implemented in Python.

Includes a stack data structure. You may push(val) or pop() items into or off of the stack.

Includes a linked list data structure. LinkedList objects include the following methods: insert(val), pop(), size(), search(val), remove(node), and display().

Includes a doubly linked list data structure. DoubleLinkedList objects include the following methods: insert(val), append(val), pop(), shift(), remove(val). DoubleLinkedList objects can be instantiated with an optional iterable. Collaborated with Michael Sullivan regarding head and tail sentinals.

Includes a queue data structure, which is composed from the DoubleLinkedList object. Queue objects have these attributes: enqueue(val), dequeue(), peek(), and size(). The head node is not explicitly an attribute.

Hannah Krager and Michael Stokley