Skip to main content

Don Sheehy's Data Structures

Project description

A Book and a Library

This repository hosts both the book, A First Course on Data Structures in Python and the python package ds2 that is extracted from that book.

The book covers fundamentals of data structures in Python and the library contains fully-tested implementations of the data structures in the book.

The book is a literate program. The code is woven into the text. As such, there are few inline comments. The comments are the book. Moreover, the code files are automatically generated from the markdown files that define the book.

A First Course on Data Structures in Python

by Don Sheehy

Overview

This book is designed to cover a lot of ground quickly, without taking shortcuts.

What does that mean? It means that concepts are motivated and start with simple examples. The ideas follow the problems. The abstractions follow the concrete instances.

What does it not mean? The book is not meant to be comprehensive, covering all of data structures, nor is it a complete introduction to all the details of python. Introducing the minimum necessary knowledge to make interesting programs and learn useful concepts is not taking shortcuts, it's just being directed.

There are many books that will teach idiomatic python programming, and many others that will teach problem solving, data structures, or algorithms. There are many books for learning design patterns, testing, and many of the other important practices of software engineering. The aim of this book is cover many of these topics as part of an integrated course.

Towards that aim, the organization is both simple and complex. The simple part is that the overall sequencing of the main topics is motivated by the data structuring problems, as is evident from the chapter titles. The complex part is that many other concepts including problem solving strategies, more advanced python, object-oriented design principles, and testing methodologies are introduced bit by bit throughout the text in a logical, incremental way.

As a result, the book is not meant to be a reference. It is meant to be worked through from beginning to end. Many topics dear to my heart were left out to make it possible to work through the whole book in a single semester course.

The full book as a pdf can be found here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ds2-0.2.4.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

ds2-0.2.4-py3-none-any.whl (33.6 kB view details)

Uploaded Python 3

File details

Details for the file ds2-0.2.4.tar.gz.

File metadata

  • Download URL: ds2-0.2.4.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ds2-0.2.4.tar.gz
Algorithm Hash digest
SHA256 d668a455045e43b9b52205293c667cf64a2c5b37334a4f1047d0ec576ed66c7e
MD5 47e05cd9dc8549e0f8a7819bb917e805
BLAKE2b-256 72a6147ba2be64d823829ecb74e69fd6c2b45f8f1f0d898093c3198b06f4c656

See more details on using hashes here.

File details

Details for the file ds2-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: ds2-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 33.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ds2-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a8f8387e612cbf13f4118b3d7c6bff81b86b2620254a9743dcbff39bd6afee07
MD5 876f45023232651a14d7aaced27b9f20
BLAKE2b-256 8d1ab1c0ecdf10f126cfe7c0c67eced739c14adb14a7e8ed36095fe8f5d63a1e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page