From your Facebook News Feed to your most recent insurance premiums--even making toast!--algorithms play a role in virtually everything that happens in modern society and in your personal life. And while they can seem complicated from a distance, the reality is that, with a little help, anyone can understand--and even use--these powerful problem-solving tools!
Contents
Getting started with algorithms. Introducing algorithms ; Considering algorithm design ; Working with Google Colab ; Performing essential data manipulations using Python ; Developing a matrix computation class -- Understanding the need to sort and search. Structuring data ; Arranging and searching data -- Exploring the world of graphs. Understanding graph basics ; Reconnecting the dots ; Discovering graph secrets ; Getting the right web page -- Wrangling with big data. Managing big data ; Parallelizing operations ; Compressing and concealing data -- Challenging difficult problems. Working with greedy algorithms ; Relying on dynamic programming ; Using randomized algorithms ; Performing local search ; Employing linear programming ; Considering heuristics -- The part of tens. Ten algorithms that are changing the world ; Ten algorithmic problems yet to solve.