Scroll to top button

Data Structures and Algorithms in Python

ISBN : 9781644591055

Become an expert of Data Structure algorithms using the Data Structures and Algorithms in Python course. This course will introduce you to common data structures and algorithms in Python and help you gain knowledge and skills on the topics like object-oriented programming, algorithm analysis, graph algorithms, array-based sequences, memory management, text processing, linked lists, and recursions.

Lessons
Lessons
17+
Quizzes
150+
Flashcards
90+
Glossary of terms
90+
TestPrep
Pre Assessment Questions
75+
Post Assessment Questions
75+
Lab
Performance lab
24+
  • 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
  • Goals, Principles, and Patterns
  • Software Development
  • Class Definitions
  • Inheritance
  • Namespaces and Object-Orientation
  • Shallow and Deep Copying
  • Exercises
  • Experimental Studies
  • The Seven Functions Used in This Course
  • Asymptotic Analysis
  • Simple Justification Techniques
  • Exercises
  • Illustrative Examples
  • Analyzing Recursive Algorithms
  • Recursion Run Amok
  • Further Examples of Recursion
  • Designing Recursive Algorithms
  • Eliminating Tail Recursion
  • Exercises
  • 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
  • Stacks
  • Queues
  • Double-Ended Queues
  • Exercises
  • 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
  • General Trees
  • Binary Trees
  • Implementing Trees
  • Tree Traversal Algorithms
  • Case Study: An Expression Tree
  • Exercises
  • The Priority Queue Abstract Data Type
  • Implementing a Priority Queue
  • Heaps
  • Sorting with a Priority Queue
  • Adaptable Priority Queues
  • Exercises
  • Maps and Dictionaries
  • Hash Tables
  • Sorted Maps
  • Skip Lists
  • Sets, Multisets, and Multimaps
  • Exercises
  • Binary Search Trees
  • Balanced Search Trees
  • AVL Trees
  • Splay Trees
  • (2,4) Trees
  • Red-Black Trees
  • Exercises
  • 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
  • Abundance of Digitized Text
  • Pattern-Matching Algorithms
  • Dynamic Programming
  • Text Compression and the Greedy Method
  • Tries
  • Exercises
  • Graphs
  • Data Structures for Graphs
  • Graph Traversals
  • Transitive Closure
  • Directed Acyclic Graphs
  • Shortest Paths
  • Minimum Spanning Trees
  • Exercises
  • Memory Management
  • Memory Hierarchies and Caching
  • External Searching and B-Trees
  • External-Memory Sorting
  • Exercises

Hands on Activities (Labs)

  • 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
  • Understanding the init Method
  • Calculating the Product of Two Positive Integers
  • Finding the Minimum Element
  • Using Stack Abstract Data Type Method
  • Adding Elements to a Set
  • Performing Set Operations
  • Using a Sorting Function
  • Using the len() Built-In Function
  • Performing Pattern Matching
×