编程珠玑(英文版・第2版)

[美] Jon Bentley

文学

算法 编程 计算机 Programming 程序设计 Algorithm 数据结构 理论基础

2010-8

人民邮电出版社

目录
CONTENTS Part I: PRELIMINARIES 1 Column 1: Cracking the Oyster 3 A Friendly Conversation ~ Precise Problem Statement ~ Program Design ~ Implementation Sketch. Principles ~ Problems. Further Reading Column 2: Aha! Algorithms 11 Three Problems ~ Ubiquitous Binary Search ~ The Power of Primitives ~ Getting It Together: Sorting. Principles. Problems. Further Reading. Implementing an Anagram Program Column 3: Data Structures Programs 21 A Survey Program ~ Form-Letter Programming ~ An Array of Examples ~ Structuring Data. Powerful Tools for Specialized Data ~ Principles ~ Prob- lems ~ Further Reading Column 4: Writing Correct Programs 33 The Challenge of Binary Search ~ Writing the Program ~ Understanding the Program. Principles ~ The Roles of Program Verification ~ Problems. Further Reading Column 5: A Small Matter of Programming 45 From Pseudocode to C ~ A Test Harness ~ The Art of Assertion ~ Auto- mated Testing ~ Timing ~ The Complete Program. Principles ~ Problems ~ Further Reading ~ Debugging Part II: PERFORMANCE 59 Column 6: Perspective on Performance 61 A Case Study. Design Levels. Principles. Problems ~ Further Reading Column 7: The Back of the Envelope 67 Basic Skills ~ Performance Estimates ~ Safety Factors ~ Little's Law ~ Principles ~ Problems ~ Further Reading ~ Quick Calculations in Everyday Life Column 8: Algorithm Design Techniques 77 The Problem and a Simple Algorithm ~ Two Quadratic Algorithms ~ A Divide-and-Conquer Algorithm ~ A Scanning Algorithm ~ What Does It Matter? ~ Principles. Problems. Further Reading Column 9: Code Tuning 87 A Typical Story ~ A First Aid Sampler ~ Major Surgery Binary Search ~ Principles. Problems. Further Reading Column 10: Squeezing Space 99 The Key Simplicity ~ An Illustrative Problem. Techniques for Data Space. Techniques for Code Space ~ Principles ~ Problems ~ Further Reading ~ A Big Squeeze Part III: THE PRODUCT 113 Column 11: Sorting 115 Insertion Sort ~ A Simple Quicksort ~ Better Quicksorts ~ Principles ~ Problems ~ Further Reading Column 12: A Sample Problem 125 The Problem ~ One Solution. The Design Space. Principles ~ Problems ~ Further Reading Column 13: Searching 133 The Interface ~ Linear Structures ~ Binary Search Trees ~ Structures for Integers. Principles. Problems. Further Reading. A Real Searching Problem Column 14: Heaps 147 The Data Structure ~ Two Critical Functions ~ Priority Queues ~ A Sorting Algorithm. Principles. Problems. Further Reading Column 15: Strings of Pearls 161 Words ~ Phrases ~ Generating Text ~ Principles ~ Problems ~ Further Reading Epilog to the First Edition 175 Epilog to the Second Edition 177 Appendix 1: A Catalog of Algorithms 179 Appendix 2: An Estimation Quiz 183 Appendix 3: Cost Models for Time and Space 185 Appendix 4: Rules for Code Tuning 191 Appendix 5: C++ Classes for Searching 197 Hints for Selected Problems 201 Solutions to Selected Problems 205 Index 233
【展开】
内容简介
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位列前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”。这些文章是《ACM通讯》最受欢迎的专栏文章,最终结集为两部书出版。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。 在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众多大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者开展创新性的思考。书中透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。
【展开】
下载说明

1、追日是作者栎年创作的原创作品,下载链接均为网友上传的的网盘链接!

2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!

下载链接