Data Structures and Algorithms in Python

Learn to generate insights using Python-powered data structures and algorithms.

(DS-Algo) / ISBN : 978-1-64459-105-5
Lessons
Lab
TestPrep
AI Tutor (Add-on)
334 Reviews
Get A Free Trial

About This Course

Is a DS/Algo problem stumping you? This Python data structures and algorithms course has your back!

We’ll take you from Python basics to advanced data structures, sorting, and graph algorithms – all while breaking down recursion and memory management.

So, ditch the old chunky textbooks and attempt hands-on labs to write code that’s clever, efficient, and functional. 

Skills You’ll Get

  • Master Python programming, including control flow, functions, and exception handling.
  • Structure and execute advanced data structures like linked lists, trees, graphs, and hash tables.
  • Analyze algorithms for efficiency using techniques like asymptotic analysis and experimental studies.
  • Design and optimize recursive solutions to solve complex problems effectively.
  • Implement sorting, searching, and graph traversal algorithms with real-world applications.
  • Develop problem-solving strategies using dynamic programming and text-processing techniques.

1

Python Primer

  • Python Overview
  • Objects in Python
  • Expressions, Operators, and Precedence
  • Control Flow
  • Functions
  • Simple Input and Output
  • Exception Handling
  • Iterators and Generators
  • Additional Python Conveniences
  • Scopes and Namespaces
  • Modules and the Import Statement
  • Exercises
2

Object-Oriented Programming

  • Goals, Principles, and Patterns
  • Software Development
  • Class Definitions
  • Inheritance
  • Namespaces and Object-Orientation
  • Shallow and Deep Copying
  • Exercises
3

Algorithm Analysis

  • Experimental Studies
  • The Seven Functions Used in This Course
  • Asymptotic Analysis
  • Simple Justification Techniques
  • Exercises
4

Recursion

  • Illustrative Examples
  • Analyzing Recursive Algorithms
  • Recursion Run Amok
  • Further Examples of Recursion
  • Designing Recursive Algorithms
  • Eliminating Tail Recursion
  • Exercises
5

Array-Based Sequences

  • Python's Sequence Types
  • Low-Level Arrays
  • Dynamic Arrays and Amortization
  • Efficiency of Python's Sequence Types
  • Using Array-Based Sequences
  • Multidimensional Data Sets
  • Exercises
6

Stacks, Queues, and Deques

  • Stacks
  • Queues
  • Double-Ended Queues
  • Exercises
7

Linked Lists

  • Singly Linked Lists
  • Circularly Linked Lists
  • Doubly Linked Lists
  • The Positional List ADT
  • Sorting a Positional List
  • Case Study: Maintaining Access Frequencies
  • Link-Based vs. Array-Based Sequences
  • Exercises
8

Trees

  • General Trees
  • Binary Trees
  • Implementing Trees
  • Tree Traversal Algorithms
  • Case Study: An Expression Tree
  • Exercises
9

Priority Queues

  • The Priority Queue Abstract Data Type
  • Implementing a Priority Queue
  • Heaps
  • Sorting with a Priority Queue
  • Adaptable Priority Queues
  • Exercises
10

Maps, Hash Tables, and Skip Lists

  • Maps and Dictionaries
  • Hash Tables
  • Sorted Maps
  • Skip Lists
  • Sets, Multisets, and Multimaps
  • Exercises
11

Search Trees

  • Binary Search Trees
  • Balanced Search Trees
  • AVL Trees
  • Splay Trees
  • (2,4) Trees
  • Red-Black Trees
  • Exercises
12

Sorting and Selection

  • Why Study Sorting Algorithms?
  • Merge-Sort
  • Quick-Sort
  • Studying Sorting through an Algorithmic Lens
  • Comparing Sorting Algorithms
  • Python's Built-In Sorting Functions
  • Selection
  • Exercises
13

Text Processing

  • Abundance of Digitized Text
  • Pattern-Matching Algorithms
  • Dynamic Programming
  • Text Compression and the Greedy Method
  • Tries
  • Exercises
14

Graph Algorithms

  • Graphs
  • Data Structures for Graphs
  • Graph Traversals
  • Transitive Closure
  • Directed Acyclic Graphs
  • Shortest Paths
  • Minimum Spanning Trees
  • Exercises
15

Memory Management and B-Trees

  • Memory Management
  • Memory Hierarchies and Caching
  • External Searching and B-Trees
  • External-Memory Sorting
  • Exercises
A

Appendix A: Character Strings in Python

B

Appendix B: Useful Mathematical Facts

Python Primer

  • Using the Bitwise Operator
  • Using the Equality Operator and the list Class
  • Using Arithmetic Operators
  • Performing Bitwise Operations
  • Using the Comparison Operator
  • Using the if-elif-else Statement - Part 1
  • Using the if-elif-else Statement - Part 2
  • Using the if-else Statement
  • Determining the Armstrong Number
  • Rectifying Errors
  • Finding LCM of Two Numbers
  • Creating a Function with its Default Value
  • Handling Exception
  • Using the dir Function
  • Using the math Module

Object-Oriented Programming

  • Understanding the init Method
  • Understanding Numeric Progressions

Recursion

  • Calculating the Product of Two Positive Integers
  • Finding the Minimum Element

Array-Based Sequences

  • Using the getsizeof Function
  • Implementing a Dynamic Array
  • Adding Elements to a List
  • Using the extend Method
  • Removing Elements from a List
  • Constructing the Caesar Cipher Algorithm

Stacks, Queues, and Deques

  • Using Stack Abstract Data Type Method

Linked Lists

  • Implementing a Stack
  • Implementing a Queue
  • Implementing a Queue with a Circular Linked List
  • Implementing a Deque with a Doubly Linked List

Maps, Hash Tables, and Skip Lists

  • Adding Elements to a Set
  • Performing Set Operations

Sorting and Selection

  • Using a Sorting Function
  • Using the len() Built-In Function

Text Processing

  • Performing Pattern Matching

Any questions?
Check out the FAQs

Got doubts? Learn more about our data structures and algorithms with Python course.

Contact Us Now

  Absolutely! We start with the Python essentials and gradually move to more advanced topics. Whether you’re new to programming or just new to Python, you’ll feel right at home.

All you need is a curious mind and a basic understanding of programming concepts to take this Python DS/Algo course. As long as you can write a basic 'Hello, World!' program in Python, you're ready to start.

Definitely! You’ll learn how to build algorithms and data structures using Python. It is an in-demand skill required to solve competitive programming challenges.

From cracking technical interviews to excelling in software development, this data structures and algorithms in Python course equips you with foundational skills that are highly valued in the tech industry.

Yes! The concepts of data structures and algorithms are universal. Once you learn them in Python, you can easily apply them in languages like Java, C++, or JavaScript.

It is! Understanding algorithms and data structures is crucial for optimizing data analysis and building efficiency models in data science and machine learning.

Related Courses

All Course
scroll to top