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