Course
Data Structures and Algorithms in Python
60 hours 10 minutes
Credits: Optional Learning
Description
This course teaches learners how to implement and apply fundamental and advanced data structures and algorithms using Python. Starting with linked lists, queues, stacks, and hash maps, learners progress through complexity analysis, sorting algorithms, tree structures and traversals, graph algorithms, and advanced topics including dynamic programming, pattern searching, and specialized tree implementations.
What Students Will Learn
- Nodes Data Structure
- Nodes in Python
- Linked List Data Structure
- Linked Lists Practice in Python
- Doubly Linked Lists Data Structure
- Doubly Linked Lists in Python
- Queues Data Structure
- Queues in Python
- Stacks Data Structure
- Stacks in Python
- Towers Of Hanoi Lab
- Hash Maps Data Structure
- Hash Maps in Python
- Blossom Lab
- Asymptotic Notation
- Asymptotic Notation in Python
- Linear Search
- Linear Search in Python
- Naive Pattern Searching Algorithm
- Recursion
- Recursion in Python
- Recursive Vs Iterative Traversal in Python
- Â
- Bubble Sort
- Bubble Sort in Python
- Merge Sort
- Merge Sort in Python
- Quicksort
- Quicksort in Python
- Radix Sort
- Radix Sort with Python
- Sorted Tale Lab
- Trees Data Structure
- Trees in Python
- Wilderness Escape Lab
- Breadth First Search with Python
- Depth First Search with Python
- Binary Search
- Binary Search in Python
- Binary Search Tree in Python
- Heaps Data Structure
- Heaps in Python
- Max Heaps
- Heapsort
- Graphs Data Structure
- Graphs in Python
- Graph Search
- Graph Search in Python
- Skyroute Graph Search Lab
- Dijkstra's Algorithm
- Dijkstra's Algorithm in Python
- Traveling Salesperson Lab
- A* Algorithm
- A* Algorithm in Python
- Introduction To Dynamic Programming In Python
- Double-Ended Queues
- Deque Palindrome Lab
- Rabin Karp Algorithm
- Rabin Karp Algorithm Lab
- Knuth Morris Pratt Algorithm
- Tries in Python
- Binary Indexed Trees in Python
- Implementing B Trees in Python
- Implementing Splay Trees in Python
- Hamiltonian Algorithm in Python
- Learn Nodes Cheatsheet
- Nodes in Python Cheatsheet
- Linked Lists Cheatsheet
- Doubly Linked Lists in Python Cheatsheet
- Learn Queues Cheatsheet
- Learn Stacks Cheatsheet
- Stacks in Python Cheatsheet
- Hash Maps Cheatsheet
- Asymptotic Notation Cheatsheet
- Asymptotic Notation in Python Cheatsheet
- Linear Search Cheatsheet
- Linear Search in Python Cheatsheet
- Naive Pattern Searching Algorithm Cheatsheet
- Bubble Sort Cheatsheet
- Bubble Sort in Python Cheatsheet
- Merge Sort Cheatsheet
- Merge Sort in Python Cheatsheet
- Quicksort Cheatsheet
- Learn Trees Cheatsheet
- Trees in Python Cheatsheet
- Depth First Search with Python Cheatsheet
- Binary Search Cheatsheet
- Binary Search in Python Cheatsheet
- Binary Search Tree in Python Cheatsheet
- Heaps in Python Cheatsheet
- Max Heaps Cheatsheet
- Heapsort Cheatsheet
- Graphs in Python Cheatsheet
- Introduction To Dynamic Programming In Python Cheatsheet
Overall Learning Outcomes
Implement and work with node-based data structures including singly and doubly linked lists, queues, stacks, and hash maps in Python
Analyze algorithm efficiency using asymptotic notation and apply linear search and pattern searching algorithms
Apply recursive thinking and compare recursive versus iterative traversal approaches in Python
Implement and compare sorting algorithms including bubble sort, merge sort, quicksort, and radix sort
Build and traverse tree structures including binary search trees, heaps, and max heaps using breadth-first and depth-first search
Implement graph data structures and apply graph search algorithms including Dijkstra’s and A* algorithms
Apply dynamic programming principles and implement double-ended queues
Implement advanced data structures and algorithms including Rabin-Karp, Knuth-Morris-Pratt, Tries, Binary Indexed Trees, B-Trees, Splay Trees, and the Hamiltonian algorithm

