Vi har bytt namn till Adlibris Campus! Campusbokhandeln ❤️ Adlibris - Läs mer här
Algorithms: a concise introduction
- Häftad, Engelska, 2024
- Författare: Jonas Skeppstedt
- Betyg:
Ej i lager
Beskrivning
The main goal of this book is to give the reader a concise introduction to the basic paradigms in creating efficient algorithms: greedy algorithms, divide-and-conquer, dynamic programming, network flow, and integer linear programming using branch-and-bound. New in the 2023 edition is a chapter on computational geometry, which is focused on algorithms for finding the convex hull of a finite set of points in the plane. We present detailed pseudo code for the gift wrapping algorithm, the Graham scan algorithm, and the Preparata-Hong algorithm based on divide and conquer. As far as we know, this is the only detailed description of this famous divide and conquer algorithm in a text book. The presented pseudo code exploits the IEEE floating point standard to compute correct convex hulls also for the cases of infinite alpha and beta and gamma values. As usual with this book, the pseudo code is created from a thoroughly tested implementation in ISO C by the author.
Compared with the classic introductory texts on algorithms, such as CLRS, our aim is not to present an encyclopedia of algorithms but to give the reader, in as short reading time as possible a deep understanding of both the fundamental paradigms and many classic algorithms.
Another goal with this book is to illustrate selected modern research results in the area and was the first text book to introduce the new data structure Hollow heap invented by Thomas Dueholm Hansen, at Århus university, Denmark, with Tarjan, Kaplan and Zwick, and published 2017. The Hollow heap is an improvement of the classic Fibonacci heap.
Most algorithms are illustrated with pseudo code but we also illustrate AVL trees with Scala, and in addition to pseudo code a C implementation of a heap based priority queue with the change priority operation. This C code illustrates somewhat advanced use of pointers suitable for abstract data types which need to access attributes of objects of unknown type.
Dr. Jonas Skeppstedt has done research on optimizing compilers and multicore computer architecture in Lund, Chalmers, and USC in Los Angeles; his lmpcc compiler was rewarded ISO C certification in 2003 for C99; has taught C programming at Lund University for many years and has developed safety-critical C code for the new European Rail Traffic Management System (ERTMS), and helped German lawyers as expert witness on the C programming language.