Python algorithms [electronic resource] : mastering basic algorithms in the Python language /
Hetland, Magnus Lie.author.
Python Algorithms, Second Edition explains the Python approach to algorithm analysis and design. Written by Magnus Lie Hetland, author of Beginning Python, this book is sharply focused on classical algorithms, but it also gives a solid understanding of fundamental algorithmic problem-solving techniques. The book deals with some of the most important and challenging areas of programming and computer science in a highly readable manner. It covers both algorithmic theory and programming practice, demonstrating how theory is reflected in real Python programs. Well-known algorithms and data structures that are built into the Python language are explained, and the user is shown how to implement and evaluate others.
Description based upon print version of record.
""Contents at a Glance""; ""Contents""; ""About the Author""; ""About the Technical Reviewer""; ""Acknowledgments""; ""Preface""; ""Chapter 1: Introduction""; ""Whatâ€?s All This, Then?""; ""Why Are You Here?""; ""Some Prerequisites""; ""Whatâ€?s in This Book""; ""Summary""; ""If Youâ€?re Curious â€?""; ""Exercises""; ""References""; ""Chapter 2: The Basics""; ""Some Core Ideas in Computing""; ""Asymptotic Notation""; ""Itâ€?s Greek to Me!""; ""Rules of the Road""; ""Taking the Asymptotics for a Spin""; ""Three Important Cases""; ""Empirical Evaluation of Algorithms""
""Implementing Graphs and Trees""""Adjacency Lists and the Like""; ""Adjacency Matrices""; ""Implementing Trees""; ""A Multitude of Representations""; ""Beware of Black Boxes""; ""Hidden Squares""; ""The Trouble with Floats""; ""Summary""; ""If Youâ€?re Curious â€?""; ""Exercises""; ""References""; ""Chapter 3: Counting 101""; ""The Skinny on Sums""; ""More Greek""; ""Working with Sums""; ""A Tale of Two Tournaments""; ""Shaking Hands""; ""The Hare and the Tortoise""; ""Subsets, Permutations, and Combinations""; ""Recursion and Recurrences""; ""Doing It by Hand""; ""A Few Important Examples""
""Guessing and Checking""""The Master Theorem: A Cookie-Cutter Solution""; ""So What Was All That About?""; ""Summary""; ""If Youâ€?re Curious ...""; ""Exercises""; ""References""; ""Chapter 4: Induction and Recursion ... and Reduction""; ""Oh, Thatâ€?s Easy!""; ""One, Two, Many""; ""Mirror, Mirror""; ""Designing with Induction (and Recursion)""; ""Finding a Maximum Permutation""; ""The Celebrity Problem""; ""Topological Sorting""; ""Stronger Assumptions""; ""Invariants and Correctness""; ""Relaxation and Gradual Improvement""; ""Reduction + Contraposition = Hardness Proof""
""Problem Solving Advice""""Summary""; ""If Youâ€?re Curious ...""; ""Exercises""; ""References""; ""Chapter 5: Traversal: The Skeleton Key of Algorithmics""; ""A Walk in the Park""; ""No Cycles Allowed""; ""How to Stop Walking in Circles""; ""Go Deep!""; ""Depth-First Timestamps and Topological Sorting (Again)""; ""Infinite Mazes and Shortest (Unweighted) Paths""; ""Strongly Connected Components""; ""Summary""; ""If Youâ€?re Curious ...""; ""Exercises""; ""References""; ""Chapter 6: Divide, Combine, and Conquer""; ""Tree-Shaped Problems: All About the Balance""
""The Canonical D&C Algorithm""""Searching by Halves""; ""Traversing Search Trees ... with Pruning""; ""Selection""; ""Sorting by Halves""; ""How Fast Can We Sort?""; ""Three More Examples""; ""Closest Pair""; ""Convex Hull""; ""Greatest Slice""; ""Tree Balance ... and Balancing *""; ""Summary""; ""If Youâ€?re Curious ...""; ""Exercises""; ""References""; ""Chapter 7: Greed Is Good? Prove It!""; ""Staying Safe, Step by Step""; ""The Knapsack Problem""; ""Fractional Knapsack""; ""Integer Knapsack""; ""Huffmanâ€?s Algorithm""; ""The Algorithm""; ""The First Greedy Choice""
""Going the Rest of the Way""
Includes bibliographical references and index.
Python Algorithms, Second Edition explains the Python approach to algorithm analysis and design. Written by Magnus Lie Hetland, author of Beginning Python, this book is sharply focused on classical algorithms, but it also gives a solid understanding of fundamental algorithmic problem-solving techniques. The book deals with some of the most important and challenging areas of programming and computer science in a highly readable manner. It covers both algorithmic theory and programming practice, demonstrating how theory is reflected in real Python programs. Well-known algorithms and data structures that are built into the Python language are explained, and the user is shown how to implement and evaluate others.
Python (Computer program language).
Software engineering.
Computer software.
Python.
Software Engineering/Programming and Operating Systems.
Mathematical Software.