Generic filters
Exact matches only
Search in title
Search in content
Search in excerpt

Data Structures and Algorithms in Python

Use the Data Structures and Algorithms in Python course and lab to master all the concepts associated with Data Structures algorithms. The lab is cloud-based, device-enabled, and can easily be integrated with an LMS. With this course, you will learn common data structures and algorithms in Python and gain skills on topics like object-oriented programming, algorithm analysis, graph algorithms, array-based sequences, memory management, text processing, linked lists, and recursions.

Submit form to obtain discount

Test Prep
75+ Pre Assessment Questions | 75+ Post Assessment Questions |
Features

Why choose TOPTALENT?

Outline

Lessons 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

Lessons 2:
Object-Oriented Programming

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

Lessons 3:
Algorithm Analysis

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

Lessons 4:
Recursion

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

Lessons 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

Lessons 6:
Stacks, Queues, and Deques

  • Stacks
  • Queues
  • Double-Ended Queues
  • Exercises

Lessons 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

Lessons 8:
Trees

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

Lessons 9:
Priority Queues

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

Lessons 10:
Maps, Hash Tables, and Skip Lists

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

Lessons 11:
Search Trees

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

Lessons 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

Lessons 13:
Text Processing

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

Lessons 14:
Graph Algorithms

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

Lessons 15:
Memory Management and B-Trees

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

Appendix A: Character Strings in Python

Appendix B: Useful Mathematical Facts