【内容简介】
本书针对程序设计人员探讨了一系列的实际问题,这些问题是对现实中常见问题的归纳总结。作者虽然没有给出解决这些问题的具体代码,但始终非常富于洞察力和创造力地围绕着这些折磨程序员的实际问题展开讨论,从而引导读者理解问题并学会解决问题的技能,这些都是程序员实际编程生涯中的基本技能。为此,本书给出了一些精心设计的有趣而且颇具指导意义的程序,这些程序能够为那些复杂的编程问题提供清晰而且完备的解决思路,书中还充满了对实用程序设计技巧及基本设计原则的清晰而睿智的描述。.
本书在第—版的基础上增加了3个方面的新内容:测试、调试和计时,集合表示,字符串问题,并对第一版的所有程序都进行了改写,生成了等量的新代码。
如果让程序员们列举出他们喜欢的书籍,Jon Bentley的《编程珠玑》一定可以归子经典之列。如同精美的珍珠出自饱受沙砾折磨的牡蛎,程序员们的精彩设计也来源子曾经折磨他们的实际问题。Bentley的”珍珠”基于坚实的工程学基础,为那些麻烦的问题提供了富于智慧性和创造性的解决方案。本书通过一些有趣的具有指导意义的程序,对程序设计技巧和基本设计原理进行了清晰而睿智的描述。因此本书对各个层次的程序员都具有很高的价值。..
在这一版本中,作者对第一版中的大多数素材进行了彻底更新,以反映现在的程序设计方法和环境。此外还增加了三方面的新内容:测试、调试和计时,集合表示,字符串问题。所有原始程序都重新进行了改写,并生成了等量的新代码。读者可以从本书网站获取所有程序的C或C++实现。
在新版本中,作者对子程序设计问题本质仍然保持了极大的关注,并针对这些问题给出了实用的解决方案。不论您是第一次阅读这本经典读物,还是已经阅读过第一版,这本书都会成为您最喜爱的图书之一。...
【目录信息】
Part 1: PRELIMINARIES .
Column 1: Cracking the Oyster
A Friendly Conversation · Precise Problem Statement · Program Design · Implementation Sketch · Principles · Problems · Further Reading
Column 2: Aha! Algorithms
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
A Survey Program · Form-Letter Programming · An Array of Examples · Structuring Data · Powerful Tools for Specialized Data · Principles · Problems · Further Reading
Column 4: Writing Correct Programs
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
From Pseudocode to C · A Test Harness · The Art of Assertion · Automated Testing · Timing · The Complete Program · Principles · Problems · Further Reading · Debugging
Part II: PERFORMANCE
Column 6: Perspective on Performance
A Case Study · Design Levels · Principles · Problems · Further Reading
Column 7: The Back of the Envelope
Basic Skills · Performance Estimates · Safety Factors · Little's Law · Principles · Problems · Further Reading · Quick Calculations in Everyday Life
Column 8: Algorithm Design Techniques
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
<< 查看详细目录
【前言】
计算机程序设计涉及很多方面。Fred Brooks在《人月神话》中描述了一幅广阔的画面,他的作品着重介绍了在大型软件项目中关键角色的管理。更具体一点的是Steve McConnell在《代码大全》中介绍的良好的程序设计风格,书中所涉及的主题对于优秀的软件和程序员都至关重要。不幸的是,那些遵循合理软件工程原则的应用程序有时候令人生畏——除非软件按时交付并能正常运转。.
关于本书
本书涉及的主题是计算机专业领域中更具魅力的一个方面:超越于纯粹工程学范畴、富于洞察力和创造力的编程珠玑。正如珍珠来自于曾经折磨牡蛎的沙粒,编程珠玑也来自曾经折磨程序员的实际问题。书中的程序不仅能够引发您的..
<< 查看前言