Skip to main content
BookintermediatePaid

Data Structures and Algorithms in Python

by Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser · Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser

Textbook developing stacks, queues, linked lists, trees, priority queues, maps, hash tables, search trees and graphs in Python from a consistent object-oriented viewpoint, with running-time analysis and exercises. Standard choice for a second-year algorithms course.

Visit resource

This link may earn us a small commission at no extra cost to you. Affiliate disclosure

More resources on Data Structures

CourseFree

JavaScript Algorithms and Data Structures

Master JavaScript algorithms and data structures with this free course! Build a strong foundation for web development.

CourseFree

Algorithms, Part I

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms. All the features of this course are available for free. People who are interested in digging deeper into the content may wish to obtain the textbook Algorithms, Fourth Edition (upon which the course is based) or visit the website algs4.cs.princeton.edu for a wealth of additional material. This course does not offer a certificate upon completion.

WebsiteFree

LeetCode

Online judge with thousands of algorithm and data-structure problems sorted by difficulty, topic and company, plus timed contests, discussion threads and study plans. Regular practice builds fluency with common interview problem patterns and writing correct, efficient code under time pressure.

WebsiteFree

USFCA Data Structures

Interactive animations from David Galles at the University of San Francisco that step through stacks, hash tables, AVL and red-black trees, heaps, sorting and graph algorithms, letting you watch each operation restructure the data.

WebsiteFree

LeetCode

A practice archive of several thousand programming problems filterable by data structure, with a judge that runs your solution against hidden tests. Working the array, hash-table, tree and graph tags builds implementation speed under time pressure.

VideoFree

freeCodeCamp Data Structures Full Course

Eight-hour freeCodeCamp course by William Fiset covering dynamic arrays, linked lists, stacks, queues, priority queues, union-find, binary search trees, hash tables, Fenwick trees and AVL trees, each explained with animations then implemented in Java.

See all Data Structures resources →