Limit search to available items
Book Cover
Book
Author Louridas, Panos, author

Title Real-world algorithms : a beginner's guide / Panos Louridas
Published Cambridge, Massachusetts : The MIT Press, [2017]

Copies

Location Call no. Vol. Availability
 MELB  005.1 Lou/Rwa  AVAILABLE
Description xvi, 509 pages : illustrations ; 24 cm
Contents Machine generated contents note: 1.Stock Spans -- 1.1.Algorithms -- 1.2.Running Times and Complexity -- 1.3.Stock Span Using a Stack -- Notes -- Exercises -- 2.Exploring the Labyrinth -- 2.1.Graphs -- 2.2.Graph Representation -- 2.3.Depth-first Graph Traversal -- 2.4.Breadth-first Search -- Notes -- Exercises -- 3.Compressing -- 3.1.Compression -- 3.2.Trees and Priority Queues -- 3.3.Huffman Coding -- 3.4.Lempel-Ziv-Welch Compression -- Notes -- Exercises -- 4.Secrets -- 4.1.A Decryption Challenge -- 4.2.One-time Pad -- 4.3.The AES Cipher -- 4.4.Diffie-Hellman Key Exchange -- 4.5.Fast and Modular Exponentiation -- Notes -- Exercises -- 5.Split Secrets -- 5.1.Public Key Cryptography -- 5.2.The RSA Cryptosystem -- 5.3.Message Hashing -- 5.4.Internet Traffic Anonymization -- Notes -- Exercises -- 6.Tasks in Order -- 6.1.Topological Sort -- 6.2.Weighted Graphs -- 6.3.Critical Paths -- Notes -- Exercises -- 7.Lines, Paragraphs, Paths -- 7.1.Shortest Paths --
Contents note continued: 7.2.Dijkstra's Algorithm -- Notes -- Exercises -- 8.Routing, Arbitrage -- 8.1.Internet Routing -- 8.2.The Bellman-Ford(-Moore) Algorithm -- 8.3.Negative Weights and Cycles -- 8.4.Arbitrage -- Notes -- 9.What's Most Important -- 9.1.The PageRank Idea -- 9.2.The Hyperlink Matrix -- 9.3.The Power Method -- 9.4.The Google Matrix -- Notes -- 10.Voting Strengths -- 10.1.Voting Systems -- 10.2.The Shulze Method -- 10.3.The Floyd-Warshall Algorithm -- Notes -- 11.Brute Forces, Secretaries, and Dichotomies -- 11.1.Sequential Search -- 11.2.Matching, Comparing, Records, Keys -- 11.3.The Matthew Effect and Power Laws -- 11.4.Self-Organizing Search -- 11.5.The Secretary Problem -- 11.6.Binary Search -- 11.7.Representing Integers in Computers -- 11.8.Binary Search Revisited -- 11.9.Comparison Trees -- Notes -- 12.A Menagerie of Sorts -- 12.1.Selection Sort -- 12.2.Insertion Sort -- 12.3.Heapsort -- 12.4.Merge Sort -- 12.5.Quicksort -- 12.6.Spoilt for Choice --
Contents note continued: Notes -- Exercises -- 13.The Cloakroom, the Pigeon, and the Bucket -- 13.1.Mapping Keys to Values -- 13.2.Hashing -- 13.3.Hashing Functions -- 13.4.Floating Point Representation and Hashing -- 13.5.Collisions -- 13.6.Digital Fingerprints -- 13.7.Bloom Filters -- Notes -- Exercises -- 14.Bits and Trees -- 14.1.Divination as a Communications Problem -- 14.2.Information and Entropy -- 14.3.Classification -- 14.4.Decision Trees -- 14.5.Attribute Selection -- 14.6.The ID3 Algorithm -- 14.7.The Underlying Machinery -- 14.8.Occam's Razor -- 14.9.Cost, Problems, Improvements -- Notes -- Exercises -- 15.Stringing Along -- 15.1.Brute Force String Matching -- 15.2.The Knuth-Morris-Pratt Algorithm -- 15.3.The Boyer-Moore-Horspool Algorithm -- Notes -- Exercises -- 16.Leave to Chance -- 16.1.Random Numbers -- 16.2.Random Sampling -- 16.3.Power Games -- 16.4.Searching for Primes -- Notes -- Exercises
Summary Algorithms are what we do in order not to have to do something. Algorithms consist of instructions to carry out tasks -- usually dull, repetitive ones. Starting from simple building blocks, computer algorithms enable machines to recognize and produce speech, translate texts, categorize and summarize documents, describe images, and predict the weather. A task that would take hours can be completed in virtually no time by using a few lines of code in a modern scripting program. This book offers an introduction to algorithms through the real-world problems they solve. The algorithms are presented in pseudocode and can readily be implemented in a computer language.The book presents algorithms simply and accessibly, without overwhelming readers or insulting their intelligence. Readers should be comfortable with mathematical fundamentals and have a basic understanding of how computers work; all other necessary concepts are explained in the text. After presenting background in pseudocode conventions, basic terminology, and data structures, chapters cover compression, cryptography, graphs, searching and sorting, hashing, classification, strings, and chance. Each chapter describes real problems and then presents algorithms to solve them. Examples illustrate the wide range of applications, including shortest paths as a solution to paragraph line breaks, strongest paths in elections systems, hashes for song recognition, voting power Monte Carlo methods, and entropy for machine learning. Real-World Algorithms can be used by students in disciplines from economics to applied sciences. Computer science majors can read it before using a more technical text. -- Provided by publisher
Bibliography Includes bibliographical references (pages 489-499)and index
Subject Computer algorithms -- Popular works.
Computer programming -- Popular works.
LC no. 2016025660
ISBN 9780262035705
0262035707