Data Structures and Algorithms with Python

Front Cover
Springer, Jan 12, 2015 - Computers - 363 pages

This clearly structured and easy to read textbook explains the concepts and techniques required to write programs that can handle large amounts of data efficiently.

Project-oriented and classroom-tested, the book presents a number of important algorithms supported by motivating examples that bring meaning to the problems faced by computer programmers. The idea of computational complexity is also introduced, demonstrating what can and cannot be computed efficiently so that the programmer can make informed judgements about the algorithms they use. The text assumes some basic experience in computer programming and familiarity in an object-oriented language, but not necessarily with Python.

Topics and features: includes both introductory and advanced data structures and algorithms topics, with suggested chapter sequences for those respective courses provided in the preface; provides learning goals, review questions and programming exercises in each chapter, as well as numerous illustrative examples; offers downloadable programs and supplementary files at an associated website, with instructor materials available from the author; presents a primer on Python for those coming from a different language background; reviews the use of hashing in sets and maps, along with an examination of binary search trees and tree traversals, and material on depth first search of graphs; discusses topics suitable for an advanced course, such as membership structures, heaps, balanced binary search trees, B-trees and heuristic search.

Students of computer science will find this clear and concise textbook to be invaluable for undergraduate courses on data structures and algorithms, at both introductory and advanced levels. The book is also suitable as a refresher guide for computer programmers starting new jobs working with Python.

 

Contents

1 Python Programming 101
1
2 Computational Complexity
41
3 Recursion
67
4 Sequences
91
5 Sets and Maps
139
6 Trees
162
7 Graphs
185
8 Membership Structures
205
Integer Operators
298
Float Operators
299
String Operators and Methods
300
List Operators and Methods
307
Dictionary Operators and Methods
309
Turtle Methods
311
TurtleScreen Methods
323
Complete Programs
331

9 Heaps
215
10 Balanced Binary Search Trees
237
11 BTrees
261
12 Heuristic Search
281

Other editions - View all

Common terms and phrases

About the author (2015)

Dr. Kent D. Lee is Professor of Computer Science at Luther College, Decorah, Iowa, USA. He is the author of the successful Springer textbook Python Programming Fundamentals and the forthcoming Foundations of Programming Languages.

Dr. Steve Hubbard is Professor of Mathematics and Computer Science at Luther College.