Skip to content
  • Sign In
  • Try Now
View all events
Python

Introduction to Algorithms and Data Structures

Published by O'Reilly Media, Inc.

Intermediate content levelIntermediate

A deep dive into seven fundamental data structures and how they can be used to improve the efficiency of your code

This live event utilizes Jupyter Notebook technology

Python is one of the most popular programming languages. In most cases, the built-in types provided by Python are sufficient. Invariably, however, you’ll need the more complicated (and standard) data structures to solve the problems you encounter over the course of your work. Join expert George Heineman on a deep dive into seven fundamental data structures and explore how they can be used to improve the efficiency of your code. Rather than reimplementing these data structures from scratch, you’ll discover existing Python third-party libraries that implement these data structures and learn how to install and use them.

What you’ll learn and how you can apply it

By the end of this live, hands-on, online course, you’ll understand:

  • Seven fundamental data structures in computer science (queue, stack, dequeue, bag, symbol table, heap, and graph)
  • Asymptotic analysis and its application to modeling runtime performance in terms of memory (space) and CPU (time)
  • How to install third-party Python libraries using pip

And you’ll be able to:

  • Write more efficient and dependable code using high-quality third-party libraries
  • Assess the runtime and space performance of a data structure and associated algorithms
  • Choose the most efficient data structures to use for your programs

This live event is for you because...

  • You’re a Python programmer seeking to improve your skills, and you want advice on choosing useful third-party Python libraries.
  • You’re a software practitioner, programmer, or designer who wants to learn the most efficient structures to use when processing large amounts of data.
  • You’re a programmer who wants to become more efficient and productive and use trusted, independently developed open source code libraries.
  • You want to understand the efficiency behind key data structures and algorithms.

Prerequisites

  • Familiarity with Python
  • A machine with Python 3.x installed

Recommended follow-up:

Schedule

The time frames are only estimates and may vary according to how the class is progressing.

Algorithm to describe log(n) behavior (30 minutes)

  • Lecture: Terms; BinaryArraySearch, an O(log n) algorithm
  • Hands-on exercise: Write the binary array search code
  • Q&A

Basic data structures (30 minutes)

  • Lecture: The data structures queue, stack, dequeue, bag, symbol table, heap, graph, and sorted containers
  • Hands-on exercise: Write Python lists
  • Q&A
  • Break (5 minutes)

Sorting algorithms (30 minutes)

  • Lecture: Python TimSort
  • Hands-on exercise: Code InsertionSort and MergeSort
  • Q&A

Graph algorithms (45 minutes)

  • Lecture: Graph algorithms
  • Hands-on exercise: Construct sample graphs using a GUI program
  • Q&A
  • Break (5 minutes)

Skip list implementation (30 minutes)

  • Lecture: Skip lists; Trexagon puzzles
  • Hands-on exercise: Work with lists

Wrap-up and Q&A (5 minutes)

Your Instructor

  • George Heineman

    George T. Heineman is an associate professor of computer science at Worcester Polytechnic Institute, with research interests in software engineering. He is the author of Learning Algorithms. He also coedited Component-Based Software Engineering: Putting the Pieces Together and coauthored Algorithms in a Nutshell: A Desktop Quick Reference (with Gary Pollice and Stanley Selkow), now in its second edition. He also developed several online courses for O’Reilly, including Java 5: Distributed Java Applications and Data Structures and Algorithms. Aside from his professional pursuits, George is an avid puzzler. He invented Sujiken, a Sudoku variation played on a right triangle arrangement of cells in which numbers cannot repeat in a horizontal row, vertical column, or diagonal in any direction, and Trexagon, a Ken-Ken variation involving triangles instead of a square arrangement. His books on the puzzles include Sudoku on the Half Shell: 150 Addictive Sujiken Puzzles and Trexagon Puzzles: Mathematically Logical. See more at sujiken.com and trexagon.com.