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.
1: Python Programming 101.- 2: Computational Complexity.- 3: Recursion.- Sequences.- 4: Sets and Maps.- 5: Trees.- 6: Graphs.- 7: Membership Structures.- 8: Heaps.- 9: Balanced Binary Search Trees.- 10: B-Trees.- 11: Heuristic Search.- Appendix A: Integer Operators.- Appendix B: Float Operators.- Appendix C: String Operators and Methods.- Appendix D: List Operators and Methods.- Appendix E: Dictionary Operators and Methods.- Appendix F: Turtle Methods.- Appendix G: TurtleScreen Methods.- Appendix H: Complete Programs.
This 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 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. 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 from a different language background.