作 者:(美)喬恩·本特利 著
定 價:69.9
出 版 社:人民郵電出版社
出版日期:2015年12月01日
頁 數:248
裝 幀:平裝
ISBN:9787115401267
非常有影響力的計算機科學著作之一 融深邃思想、實戰技術與趣味軼事於一爐的奇書 帶你真正領略計算機科學之美 多年以來,當程序員們推選出心愛的計算機圖書時,《編程珠璣》總是位於前列。正如自然界裡珍珠出自細沙對牡蠣的磨礪,計算機科學大師Jon Bentley以其獨有的洞察力和創造力,從磨礪程序員的實際問題中凝結出一篇篇不朽的編程“珠璣”,成為世界計算機界名刊《ACM通訊》非常受歡迎的專欄,結集為兩部不朽的計算機科學經典名著,影響和激勵著一代又一代程序員和計算機科學工作者。本書為第 1卷,主要討等
●Part I:PRELIMINARIES
第一部分 基礎
Column 1:Cracking the Oyster
第1章 開篇
A Friendly Conversation/一次友好的對話
Precise Problem Statement/準確的問題描述
Program Design/程序設計
Implementation Sketch/實現概要
Principles/原理
Problems/習題
Further Reading/深入閱讀
Column 2:Aha! Algorithms 11
第2章 啊哈!算法
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
第3章 數據決定程序結構
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
第4章 編寫正確的程序
The Challenge ofBinary Search/二分搜索的挑戰
Writing the Program/編寫程序
Understanding the Program/理解程序
Principles/原理
The Roles ofProgram Verification/程序驗證的角色
Problems/習題
Further Reading/深入閱讀
Column 5:A Small Matter of Programming
第5章 編程小事
From Pseudocode to C/從偽代碼到C程序
ATest Harness/測試工具
The Art ofAssertion/斷言的藝術
Auto—mated Testing/自動測試
Timing/計時
The Complete Program/完整的程序
Principles/原理
Problems/習題
Further Reading/深入閱讀
Debugging/調試
Part II:PERFORMANCE
第二部分 性能
Column 6:Perspective on Performance
第6章 程序性能分析
ACase Study/實例研究
Design Levels/設計層面
Principles/原理
Problems/習題
Further Reading/深入閱讀
Column 7:The Back of the Envelope
第7章 粗略估算
Basic Skills/基本技巧
Performance Estimates/性能估計
Safety Factors/安全繫數
Little’s Law/Little定律
Principles/原理
Problems/習題
Further Reading/深入閱讀
Quick Calculations in Everyday Life/日常生活中的速算
Column 8:Algorithm Design Techniques
第8章 算法設計技術
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
第9章 代碼調優
ATypical Story/典型的故事
A First Aid Sampler/急救方案集錦
Major Surgery--Binary Search/大手術——二分搜索
Principles/原理
Problems/習題
Further Reading/深入閱讀
Column 10:Squeezing Space
第10章 空間
The Key--Simplicity/關鍵在於簡單
An Illustrative Problem/示例問題
Techniques for Data Space/數據空間技術
Techniques for Code Space/代碼空間技術
Principles/原理
Problems/習題
Further Reading/深入閱讀
A Big Squeeze/巨大的
Part 111:THE PRODUCT
第三部分 應用
Column 1l:Sorting
第11章 排序
Insertion Sort/插入排序
A Simple Quicksort/一種簡單的快速排序
Better Quicksorts/ 好的幾種快速排序
Principles/原理
Problems/習題
Further Reading/深入閱讀
Column 12:A Sample Problem
第12章 取樣問題
TheProblem/問題
One Solution/一種解決方案
The Design Space/設計空間
Principles/原理
Problems/習題
Further Reading/深入閱讀
Column 13:Searching
第13章 搜索
The Interface/接口
Linear stmctures/線性結構
Binary Search Trees/二分搜索樹
Structures for Integers/用於整數的結構
Principles/原理
Problems/習題
Further Reading/深入閱讀
A Real Searching Problem/一個實際搜索問題
Column 14:Heaps
第14章 堆
TheData Structure/數據結構
Two Critical Functions/兩個關鍵函數
Priority Queues/優先級隊列
A Sorting Algorithm/一種排序算法
Principles/原理
Problems/習題
Further Reading/深入閱讀
Column 15:Strings of Pearls
第15章 字符串
Words/單詞
Phrases/短語
Generating Text/生成文本
Principles/原理
Problems/習題
Further Reading/深入閱讀
Epilog to the First Edition
版跋
Epilog to the Second Edition
第2版跋
Appendix l:A Catalog ofAlgorithms
附錄A 算法分類
Appendix 2:An Estimation Quiz
附錄B 估算測試
Appendix 3:Cost Models for Time and Space
附錄C 時空開銷模型
Appendix 4:Rules for Code Tuning
附錄D 代碼調優法則
Appendix 5:C++Classes for Searching
附錄E 用於搜索的C++類
Hints for Selected Problems
部分習題提示
Solutions to Selected Problems
部分習題答案
本書是計算機科學方面的經典名著。書的內容圍繞程序設計人員面對的一繫列實際問題展開。作者Jon Bentley以其獨有的洞察力和創造力,引導讀者理解這些問題並學會解決方法,而這些正是程序員實際編程生涯中到關重要的。本書的特色是通過一些精心設計的有趣而又頗具指導意義的程序,對實用程序設計技巧及基本設計原則進行了透徹而睿智的描述,為復雜的編程問題提供了清晰而完備的解決思路。本書對各個層次的程序員都具有很高的閱讀價值。
(美)喬恩·本特利 著
Jon Bentley 世界知名的計算機科學家,被譽為影響算法發展的十位大師之一。他先後任職於卡內基-梅隆大學(1976~1982)、貝爾實驗室(1982~2001)和Avaya實驗室(2001年到今)。在卡內基-梅隆大學擔任教授期間,他培養了包括Tcl語言設計者John Ousterhout、Java語言設計者James Gosling、《算法導論》作者之一Charles E. Leiserson在內的許多計算機科學大家。2004年榮獲Dr. Dobb's程序設計卓 越獎。