Current location - Education and Training Encyclopedia - Graduation thesis - Reflections on algorithm design
Reflections on algorithm design
Algorithm design is a book written by jon kleinberg. Va Tardos is a paperback book published by People's Posts and Telecommunications Press. The price of this book is 1 19.00 yuan and the number of pages is 503. I hope it helps you.

Thoughts on Algorithm Design (1): Algorithm

Kind of like an introduction, there is no code to implement the algorithm. After learning some knowledge, there will be some examples and exercises in the book, which are suitable for people who want to have a comprehensive and in-depth understanding of computer algorithms. This book contains many algorithms, which are complete and in-depth (for a vegetable chicken like me). The pictures and texts in the book are very clear and comfortable to read. The whole book is still relatively large and thick, which is inconvenient to carry and suitable for pad display.

Thoughts on Algorithm Design (2): Algorithm Design

Look at the author first. Jon kleinberg is an academician of National Academy of Sciences (NAS), National Academy of Engineering (NAE) and American Academy of Humanities (AAAS), and he is a legend in the field of computer science. Moreover, he was awarded the Naiwanglinna Award by the International Congress of Mathematicians, which was established by the Congress of Mathematicians in recognition of his important mathematical contributions in the field of information science. After reading the English version, I finally came up with a new Chinese version, which is expected.

Reflection on Algorithm Design (3): The most comprehensive way to solve problems.

This book is not only informative, but also the exercises with answers at the back of each chapter are the crowning touch. Generally, the answers to the exercises in books are either final solutions or simple analysis. The suggested solution in this book has written almost every point in the book, making it easier for people to understand its meaning.

The algorithm research brought into this book starts from the problems in various computing applications, based on the understanding of algorithm design technology, and finally gets effective solutions to these problems.

Thoughts on algorithm design (4): The author is a scientist with rich experience in algorithm design, and algorithm design has become the course textbook of many universities such as Washington University.

Algorithm design sells well 15 years.

There are a large number of algorithm books, how to choose? The algorithm book recommended by Asynchronous Jun today won a high score of 4.5 stars in Meiya, which was recognized by readers. What's more worth mentioning is that this book is also an algorithm textbook selected by many well-known foreign universities. This book is algorithm design. It can't be said that all programmers have read this book, but as an algorithm textbook for universities, it is definitely a classic book suitable for beginners. Judging from the title of the book, it seems that algorithm and "design" are integrated into one, so many people think that this may not be an entry-level algorithm book. But in fact, this book is very rich in knowledge, which can be used as both the first algorithm book for beginners and the basic teaching material consolidated by programmers. Why is it combined with "design"? It is also necessary to start with the ideas of the two authors of this book about algorithms.

1, algorithm design technology in the eyes of scientists

The author of Algorithm Design is Jon from America. Kleinberg (hereinafter referred to as Jon) and Eva of Hungary? Sdl trados studio (hereinafter referred to as Eva). On the issue of algorithm, they put forward the view that "algorithm problem constitutes the core of computer science, but it rarely appears in the form of neat and accurate mathematical problems". On the contrary, they often have a lot of messy, application-specific details, which are intertwined by some vital and some unimportant things. "Therefore, they think that the algorithm problem consists of two basic parts: one is to get the mathematically neat core of the problem, and the other is to determine the appropriate algorithm design technology according to the problem structure. These two parts interact: the more freely you can use all possible design techniques, the more you can recognize the neat formal description of the chaotic problems in the world. In the most effective case, the idea of algorithm can not only provide solutions to appropriate problems, but also form a language that allows programmers who learn algorithms to clearly express basic problems. So Jon and Eva decided to bring design calculation into algorithm research. They know very well that the design process generally starts from the problems in various computing applications, and based on the understanding of algorithm design technology, effective solutions to these problems are finally obtained. Therefore, they try to explore the role of algorithm ideas in computer science and link these ideas with some precise problems. They design algorithms for these "problems" and analyze them. Based on this research, the book Algorithm Design came into being. Jon and Eva set the goal of this book as: how to identify the clear description form of algorithm problems in complex problems in different computing fields, and give suggestions on how to design effective algorithms for the resulting problems. To this end, they rearranged the research results, from the simplest initial method to the final solution, to help everyone better understand the complex algorithm. Readers who have read this book will feel that this book is not the most direct path from problem statement to algorithm, but it can directly reflect the way programmers really think about these problems.

2. The scientist behind the classic works

Jon? Jon kleinberg.

Jon is an American computer scientist. 1996 received his Ph.D. from MIT and is currently a professor of computer science at Cornell University. From 1995, Jon began his research in IBM Research Institute, mainly studying the mathematical analysis and modeling of network and information combination structure. Jon received research grants from Packard Foundation and Si Long Foundation. His research focuses on algorithms, especially those related to network structure and information, and their applications in information science, optimization, data mining and computational biology. He used information center and authoritative information for network analysis, which played a great role in forming the foundation of the latest generation of Internet search engines. Jon has won numerous awards in the computer field. He won the National Science Foundation Career Award, Naval Research Bureau Young Researcher Award, IBM Outstanding Innovation Award and other well-known awards. Another author, Eva, is also a computer science professor and mathematician at Cornell University.

Eva? Sdl trados studio(? va Tardos)

198 1 year, Eva studied for a doctorate at Roland University in Hungary under the guidance of her tutor Andras Frank. In 2006, Eva became the head of the Department of Computer Science at Cornell University. In 2007, Eva was elected as an academician of the National Academy of Engineering, the College of Arts and Sciences and the American Philosophical Society. At the same time, she is also an ACM academician. Eva is the winner of Fulkerson Award, George B. Dancziger Award, Godel Award and EATCS Award. Eva was awarded the IEEE john von neumann Medal in 20 19. Eva's research interests mainly focus on the algorithm design and analysis of graph and network problems. She is famous for her work in network flow algorithm and network problem approximation algorithm. It includes algorithmic game theory, a new field that focuses on designing systems and algorithms for selfish users.

3. Different algorithm books

This book is a classic textbook about algorithm design and analysis. The two authors focus on algorithm design, combine the theory of algorithm with practical problems, and analyze each algorithm technology with several typical examples, which is very enlightening. There is a lot of space in the book devoted to the formal description of the algorithm problem, as well as the algorithm design and analysis for this problem. The advantage of this writing method is that you can use appropriate design techniques to develop the algorithm, prove the nature of the algorithm and analyze the efficiency of the algorithm. In addition to the extensive content, the biggest feature of this book is that there are more than 200 wonderful exercises, as well as PSPACE problems, parameter complexity and so on.

This is the biggest difference between algorithm design and other algorithm books. This is part of Jon and Eva's teaching course at Cornell University. Almost all the questions are developed in homework or tested in class tests. They regard questions as an important part of the book and keep the structure of the problem set consistent with their overall approach to the content. Most of them contain detailed text descriptions of some problems, which appear in the application field of computer science or other places. Some problems are also the practice of the problems they discussed in textbooks: establishing the necessary symbols and formalization, designing the algorithm, and then analyzing the algorithm to prove that the algorithm is correct. To help solve these problems, they added a section called "Exercise with Solutions" to each chapter, discussing one or more problems and describing how to formalize the solutions. Therefore, it takes much longer to discuss each exercise with a solution than to simply write a complete and correct solution. In fact, like the rest of the book, the discussion in these parts should be regarded as an attempt to make people understand a larger process, through which this type of problem can be considered and finally a detailed explanation of the exact solution can be formed. It is worth mentioning that because this book is widely used in foreign universities, Jon and Eva's suggestions on learning are more biased towards college students. They suggest that beginners should learn the basic course of computer science based on programming before reading this book, and have written programs to realize basic algorithms, operate discrete structures (trees and graphs) and apply basic data structures (such as arrays, lists, queues and stacks).

According to the above ideas, they developed the basic algorithm design technology by using many problems in computer science and related fields. Including system and network applications (caching, switching, inter-domain routing on the Internet), artificial intelligence (planning, game, Hopfield network), computer vision (image segmentation), data mining (change point detection, clustering), operations research (routing scheduling), computational biology (sequence alignment, RNA secondary structure).

Jon and Eva co-authored "Algorithm Design", which focuses on algorithm design, deconstructs and analyzes several typical examples of algorithm technology, and combines the algorithm with practical problems. It can be said that this is indeed a rare classic algorithm book!