-
近似算法的设计与分析
《近似算法的设计与分析》分为五个部分:首先,在第一部分,即第一章,我们简明扼要地介绍NP—完全性和近似算法的概念。在第二部分,也就是第二章,我们对贪婪算法进行深人的分析,包括以次模函数为势函数的贪婪算法和以非次模函数为势函数的贪婪算法。第三部分包含三章:第三章、第四章和第五章。在这三章中我们讨论多种限制方法,其中包含用于处理几何问题的划分和断切方法。第四部分包含第六章、第七章、第八章和第九章。在这四章中我们主要讨论松弛方法。在第六章中我们对松弛方法进行一般性的讨论以后,在紧接着的三章中,讨论基于线性和半定规划的近似算法设计,包括原始对偶方案和与之等价的局部比值方法。在最后一部分,即第十章,我们介绍应用NP—完全性理论的近期成果所取得的各种不可近似性结果。 -
The Design of Approximation Algorithms
Discrete optimization problems are everywhere, from traditional operations research planning (scheduling, facility location and network design); to computer science databases; to advertising issues in viral marketing. Yet most such problems are NP-hard; unless P = NP, there are no efficient algorithms to find optimal solutions. This book shows how to design approximation algorithms: efficient algorithms that find provably near-optimal solutions. The book is organized around central algorithmic techniques for designing approximation algorithms, including greedy and local search algorithms, dynamic programming, linear and semidefinite programming, and randomization. Each chapter in the first section is devoted to a single algorithmic technique applied to several different problems, with more sophisticated treatment in the second section. The book also covers methods for proving that optimization problems are hard to approximate. Designed as a textbook for graduate-level algorithm courses, it will also serve as a reference for researchers interested in the heuristic solution of discrete optimization problems. -
C++数值算法(第二版)
本书选材内容丰富,除了通常数值方法课程的内容外,还包含当代科学计算大量用到的专题,如求特殊函数值、随机数、排序、最优化、快速傅里叶变换、谱分析、小波变换、统计描述和数据建模、常微分方程和偏微分方程数值解、若干编码算法和任意精度的计算等。 本书科学性和实用性统一。每个专题中,不仅对每种算法给出了数学分析和比较,而且根据作者的经验对算法做出了评论和建议,并在此基础上给出了用C++语言编写的实用程序。读者可以很方便地直接套用这些程序,还可以结合特定的需要进行修改。本书中包含的345个程序构成了C++语言的数值计算程序库。 本书可以作为大学本科生和研究生的教材或参考书,也可以作为从事科学计算的科技工作者的工具书、计算机软件开发者的参考书。 -
计算数论
《计算数论》是德国施普林格出版社出版的Number Theory for Computing (2nd Edition)的译作,作者长期从事计算数论与计算复杂性理论的研究,擅长于从数论和计算机科学的结合上研究数论算法和密码算法的复杂性以及难解性,《计算数论》是一本学术专著,主要内容包括初等数论、计算数论、计算与密码学中的数论,叙述清楚易懂,适合作为数学专业和计算机专业的研究生或高年级本科生的教材。 -
Geometric Folding Algorithms
Did you know that any straight-line drawing on paper can be folded so that the complete drawing can be cut out with one straight scissors cut? That there is a planar linkage that can trace out any algebraic curve, or even 'sign your name'? Or that a 'Latin cross' unfolding of a cube can be refolded to 23 different convex polyhedra? Over the past decade, there has been a surge of interest in such problems, with applications ranging from robotics to protein folding. With an emphasis on algorithmic or computational aspects, this treatment gives hundreds of results and over 60 unsolved 'open problems' to inspire further research. The authors cover one-dimensional (1D) objects (linkages), 2D objects (paper), and 3D objects (polyhedra). Aimed at advanced undergraduate and graduate students in mathematics or computer science, this lavishly illustrated book will fascinate a broad audience, from school students to researchers. -
Computational Geometry
This well-accepted introduction to computational geometry is a textbook for high-level undergraduate and low-level graduate courses. The focus is on algorithms and hence the book is well suited for students in computer science and engineering. Motivation is provided from the application areas: all solutions and techniques from computational geometry are related to particular applications in robotics, graphics, CAD/CAM, and geographic information systems. For students this motivation will be especially welcome. Modern insights in computational geometry are used to provide solutions that are both efficient and easy to understand and implement. All the basic techniques and topics from computational geometry, as well as several more advanced topics, are covered. The book is largely self-contained and can be used for self-study by anyone with a basic background in algorithms. In this third edition, besides revisions to the second edition, new sections discussing Voronoi diagrams of line segments, farthest-point Voronoi diagrams, and realistic input models have been added.