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.

starstarstarstarstar

* Actual course outline may vary depending on offering center. Contact your sales representative for more information.

Learning Objectives

Gain the foundational knowledge you need to take the first stesp on this topic.

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 List
    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
    Exercise

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

Audience

Anyone wishing to explore this topic will benefit.

Language

English

Prerequisites

While there are no prerequisites for this course, please ensure you have the right level of experience to be successful in this training.

Length: 365.0 days ( hours)

Level:

Not Your Location? Change

Course Schedule:

To request a custom delivery, please chat with an expert.

Loading...