Examine operations that have different values of time complexity and delve into implementation of basic data structures, such as linked lists, stacks, and queues in Python, in this 13-video course. Key concepts covered here include operations that run in constant time regardless of input; code whose time complexity varies directly with value of input; and tasks whose time complexity varies linearly with size of input. Next, you will learn about operations whose time complexity varies as the square of input size; how to use native queue class of Python and perform standard queue operations; and how to code a queue class for many standard queue operations, such as enqueue and dequeue. Then, learn how a Python list can be used as a stack by loading and unloading elements, and how to implement a custom stack class for common stack operations. Finally, study code functions to perform search and delete operations in linked lists and reverse the ordering of its nodes; and create a linked list and test out various operations that have been defined.
Data Structures & Algorithms in Python: Implementing Data Structures
discover the key concepts covered in this course
identify operations that run in constant time regardless of input
recognize code whose time complexity varies directly with the value of the input
identify tasks whose time complexity varies linearly with the size of the input
recognize operations whose time complexity varies as the square of the input size
use the native Queue class of Python and perform the standard queue operations on it
code a bespoke Queue class that includes definitions for many of the standard queue operations, such as enqueue and dequeue
recognize how a Python list can be used as a stack by loading and unloading elements from the same end
implement a custom Stack class that includes functions for the common stack operations
define a Linked List class and implement functions to insert a node at the head or the tail of the linked list
code functions to perform search and delete operations in a linked list and to reverse the ordering of its nodes
instantiate a Linked List and test out the various operations that have been defined
summarize common operations on stacks and their time complexities, and list the situations when adding to or removing elements from a stack or queue can throw exceptions