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

编程珠玑(第2版·英文版)
作 者: 本特利
出版社: 人民邮电出版社
丛编项: 典藏原版书苑
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  本书提供作译者介绍Jon Bentley是位于新泽西州Murray Hill的朗讯贝尔实验室计算机科学研究中心的技术委员会委员。自1998年以来,作为Dr.Dobb's Journal杂志的特约编辑,他所负责的Programming Pearls专栏多年来一直是顶级学术杂志The Communications of the ACM最受欢迎的特色专栏之一,而本书的主要内容就取材于该专栏。...

内容简介

本书针对程序设计人员探讨了一系列的实际问题,这些问题是对现实中常见问题的归纳总结。作者虽然没有给出解决这些问题的具体代码,但始终非常富于洞察力和创造力地围绕着这些折磨程序员的实际问题展开讨论,从而引导读者理解问题并学会解决问题的技能,这些都是程序员实际编程生涯中的基本技能。为此,本书给出了一些精心设计的有趣而且颇具指导意义的程序,这些程序能够为那些复杂的编程问题提供清晰而且完备的解决思路,书中还充满了对实用程序设计技巧及基本设计原则的清晰而睿智的描述。.本书在第—版的基础上增加了3个方面的新内容:测试、调试和计时,集合表示,字符串问题,并对第一版的所有程序都进行了改写,生成了等量的新代码。如果让程序员们列举出他们喜欢的书籍,Jon Bentley的《编程珠玑》一定可以归子经典之列。如同精美的珍珠出自饱受沙砾折磨的牡蛎,程序员们的精彩设计也来源子曾经折磨他们的实际问题。Bentley的”珍珠”基于坚实的工程学基础,为那些麻烦的问题提供了富于智慧性和创造性的解决方案。本书通过一些有趣的具有指导意义的程序,对程序设计技巧和基本设计原理进行了清晰而睿智的描述。因此本书对各个层次的程序员都具有很高的价值。..在这一版本中,作者对第一版中的大多数素材进行了彻底更新,以反映现在的程序设计方法和环境。此外还增加了三方面的新内容:测试、调试和计时,集合表示,字符串问题。所有原始程序都重新进行了改写,并生成了等量的新代码。读者可以从本书网站获取所有程序的C或C++实现。在新版本中,作者对子程序设计问题本质仍然保持了极大的关注,并针对这些问题给出了实用的解决方案。不论您是第一次阅读这本经典读物,还是已经阅读过第一版,这本书都会成为您最喜爱的图书之一。...

图书目录

Part I:PRELIMINARIES

Column 1:Cracking the OysIer

A Frielldly Conversation.Precise Problem Statement.Program Design.

Implementation Sketch·Principles.Problems.Further Reading

Column 2:Aha!Algorithms

Three Problems.Ubiquitous Binary Search.The Power of Primitiyes.

Getting It Together:Sorting.Principles.Problems.Further Reading.

Implementing an Anagram Program

Column 3:Data Structures Programs

A Survey Program·Form-Letter Programming.An Array Of Examples.

Structuring Data·Powerful Tools fbr SpeciaIized Data.Principles.Prob-

lems·Further Reading

Column 4:Writing Correct Programs

The Challenge 0f Binary Search·Writing the Program.Understanding the

Program·Principles·The Roles of Program Verification.Problems .

Further Reading

Column 5:A Small Matter of Programming

From Pselldocode to C·A Test Harness.The Art Of AssertiOn.Auto.

mated Testing·Timing·The Complete Program.PrincIples.PmbIems

·Further Rcading.Debllgging

Pan II:PERFORMANCE

Column 6:PersDective on Performance

A Case Study·Design Levels.PrillCiples.Problems.Further Readirig

Colamrl 7:The Back of the Envelooe

Basic Skills·Performance Estimates.Safetv Factors.Little’s Law.

Principles·Problems·Further Reading.Quick Calculali‘ons in Everyday

Life

Columll 8:A1gorithm Design Techniques

The Problem alld a Simple Algorithm.Two Quadratic Algorithms.A

Divide—and—Conquer Algorithm·A Scanning AlgOrithm.What Does It

Matter?·Prilieiples.Problems.Further Reading

Column 9:Code Tuning

A Typical Story·A Fjrst Aid sampIer·Major surgery—Binary search.

Principles.ProbIems.Further ReadinReading

Column 1 0:Squeezing Space

The Key—Simplicity· An Illustrative Problem.Techniques for Data

space · Techniques fbr code space .Principles . Problems , Further

Reading·A Big Squeeze

Pan III:THE PRODUCT

Column11:Sorting

Insenion Sort · A Simple Quicksort .Better Quicksorts .Principles .

Problems·Further Reading

Column 1 2:A Sample Problem

Thpe Problem·One solution·The Design space.PrincipIes.Problems

.FurtherReading

Column 1 3:Searching

The Interface·Linear Structures.Binary SearCh Trecs.Structurcs fbr

Integers·Principles·Problems·Further Reading.A Real searching

Problem

Column l 4:Heaps

The Date structure·Two Critical Functions.Priority Queues.A sorting

Algorithm·Principles·Problems.Further Reading

Column 15:Strings of Pearls

Words ·Phrases ·Generating Text.Principles .Problems.Further

Epilog to the First Editioil

EpiIog to the Second Edition

Appendix 1:A CataIog of Algorithins

Appendix 2:An Estiiiiation Quiz

Appendix 3:Cost Models for Time and Space

Appendix 4:RuIes for Code Tuning

Appendix 5:C++CIasses for Se8I'ching

Hints for Selected Problems

SoIutions to SeIected Probleins

Index