Learning Algorithms Through Programming and Puzzle Solving
- Length: 227 pages
- Edition: 1
- Language: English
- Publisher: Active Learning Technologies
- Publication Date: 2019-03-12
- ISBN-10: B07PPD174Z
- ISBN-13: 9780985731205
- Sales Rank: #383806 (See Top 100 Books)
This book powers our popular Data Structures and Algorithms online specialization on Coursera and the online MicroMasters program on edX. Since the launch of our online courses in 2016, hundreds of thousands students tried to solve many programming challenges and algorithmic puzzles described in this book. We invite you to join them!
About This Book Programming Challenges Interactive Algorithmic Puzzles What Lies Ahead Meet the Authors Meet Our Online Co-Instructors Acknowledgments Algorithms and Complexity What Is an Algorithm? Pseudocode Problem Versus Problem Instance Correct Versus Incorrect Algorithms Fast Versus Slow Algorithms Big-O Notation Algorithm Design Techniques Exhaustive Search Algorithms Branch-and-Bound Algorithms Greedy Algorithms Dynamic Programming Algorithms Recursive Algorithms Divide-and-Conquer Algorithms Randomized Algorithms Programming Challenges Sum of Two Digits Maximum Pairwise Product Naive Algorithm Fast Algorithm Testing and Debugging Can You Tell Me What Error Have I Made? Stress Testing Even Faster Algorithm A More Compact Algorithm Solving a Programming Challenge in Five Easy Steps Reading Problem Statement Designing an Algorithm Implementing an Algorithm Testing and Debugging Submitting to the Grading System Good Programming Practices Language Independent Code Format Code Structure Names and Comments Debugging Integers and Floating Point Numbers Strings Ranges C++ Specific Code Format Code Structure Types and Constants Classes Containers Integers and Floating Point Numbers Python Specific General Code Structure Functions Strings Classes Exceptions Algorithmic Warm Up Running Time and the Big-O Notation Big-O Notation: Comparing Running Times Advantages and Disadvantages of the Big-O Notation Five Common Rules for Analyzing the Running Time Visualizing Common Rules for Analyzing the Running Time Frequently Arising Running Times Programming Challenges Fibonacci Number Last Digit of Fibonacci Number Greatest Common Divisor Least Common Multiple Fibonacci Number Again Last Digit of the Sum of Fibonacci Numbers Last Digit of the Sum of Fibonacci Numbers Again Last Digit of the Sum of Squares of Fibonacci Numbers Greedy Algorithms Greedy Strategies Examples Proving Correctness of Greedy Algorithms Implementation Programming Challenges Money Change Maximum Value of the Loot Car Fueling Maximum Advertisement Revenue Collecting Signatures Maximum Number of Prizes Maximum Salary Divide-and-Conquer Binary Search Majority Element Improving QuickSort Number of Inversions Organizing a Lottery Closest Points Dynamic Programming Money Change Again Primitive Calculator Edit Distance Longest Common Subsequence of Two Sequences Longest Common Subsequence of Three Sequences Maximum Amount of Gold Partitioning Souvenirs Maximum Value of an Arithmetic Expression Appendix Compiler Flags Frequently Asked Questions
Donate to keep this site alive
To access the Link, solve the captcha.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.