Paolo Ferragina is a professor of algorithmics and the director of the PhD program in Computer Science at the University of Pisa. Previous university appointments include Vice Rector of Applied Research and Innovation, President of the IT Center, and Vice Chair of the Department of Computer Science. His research is on designing algorithms and data structures for storing, compressing, mining, and retrieving information from Big Data, in collaboration with companies such as Google, Bloomberg, Yahoo!, and STMicroelectronics. He has received international awards for his research, including the Best Land Transportation Paper Award from the IEEE Vehicular Technology Society (1995); the EATCS Doctoral Dissertation Thesis Award (1997); the Philip Morris Award for Science and Technology (1997); the Yahoo! Faculty award (2007-2011); and the Google Faculty Research Award (in 2010, 2012 and 2016). He has held postdoctoral or visiting research positions at the Max-Planck-Institut fur Informatik (Saarbrucken), the University of North Texas, the Courant Institute at New York University, AT&T, Yahoo!, Google, and IBM Research. He has been a committee member of the top international conferences in algorithmics and information retrieval, and an invited speaker at conferences such as CPM, SPIRE, ESA/ALGO, and ECIR. He has been a guest editor or area editor for journals such as Theoretical Computer Science, Information Retrieval, Theory of Computing Systems, the Journal of Graph Algorithms and Applications, and the Encyclopedia of Algorithms. Fabrizio Luccio is an emeritus professor of computer science at the University of Pisa. He received his Dr. Ing. degree in electrical engineering from the Politecnico di Milano in 1962. After industrial experience with Olivetti, he worked at MIT, the University of Southern California, and New York University, researching theoretical and algorithmic aspects of logical network synthesis. He has been at the University of Pisa since 1971, as a lecturer, professor of informatics, department chair, and coordinator of the PhD program. He was also responsible for international relations on development, and he actively supported UNESCO projects for the dissemination of informatics at university level in developing countries. He has been a visiting professor or scientist at the IBM T.J. Watson Research Center, the NTT LSI Laboratories, UCLA, the University of Illinois, the National University of Singapore, the University of Hawaii, and Carleton University in Ottawa. His main research interests are algorithm design in sequential, parallel, and distributed environments, and the relationship between abstract computational models and realistic computers and circuits. He is a Life Fellow of the IEEE.
This small volume is a step-by-step introduction to algorithms, their implementation, efficiency and run time. Requiring only basic mathematical knowledge, it aims at teaching how to transform ideas into executable programs, giving several solutions to common tasks, taken from topics of our everyday world. (Dieter Riebesehl, zbMATH 1402.68003, 2019) The book is organized by application or problem area rather than by algorithm type, and covers a good variety of topics in a small space. It leans toward areas that have caught the public imagination, such as Big Data, web search, and cryptography. In each subject area the problem is described first, followed by a text description of algorithms to solve it, and completed with one or more pseudocode listings. (Allen Stenger, MAA Reviews, January, 26 , 2019)