书籍详情
编程珠玑(英文版·第2版)
作者:(美)本特利 著
出版社:人民邮电出版社
出版时间:2010-08-01
ISBN:9787115232601
定价:¥39.00
购买这本书可以去
内容简介
《编程珠玑(英文版·第2版)》是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。《编程珠玑(英文版·第2版)》的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。《编程珠玑(英文版·第2版)》对各个层次的程序员都具有很高的阅读价值。计算机科学的不朽经典,融深邃思想、实战技术与趣味轶事于一炉的奇书,字字珠玑,意味隽永。
作者简介
本特利,Jon Bentley,1953年2月20日出生于美国加州长滩。1974年毕业于斯坦福大学数学系,1976年获北卡罗来纳大学博士学位。他先后任职于卡内基-梅隆大学(1976-1982)、贝尔实验室(1982-2001)和Avaya实验室(2001年至今)。在卡内基-梅隆大学任教期间。他培养了许多后来知名的计算机大家。包括Scribe的开发者Brian Reid,Tcl语言设计者John Ousterhout,Java专家Joshua Bloch,Java语言设计者James Gosling,《算法导论》作者之——Charles Leiserson。2004年荣获Dr. Dobb’s程序设计卓越奖。
目录
Part I: 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
Column 9: Code Tuning 7
A Typical Story·A First Aid Sampler·Major Surgery——Binary Search·Principles·Problems·Further Reading
Column 10: Squeezing Space
The KeySimplicity·An Illustrative Problem·Techniques for Data Space·Techniques for Code Space·Principles·Problems·Further Reading·A Big Squeeze
Part III: THE PRODUCT
Column 11: Sorting 115
Insertion Sort·A Simple Quicksort·Better Quicksorts·Principles·Problems·Further Reading
Column 12: A Sample Problem
The Problem·One Solution·The Design Space·Principles·Problems·Further Reading
Column 13: Searching
The Interface·Linear Structures·Binary Search Trees·Structures for Integers·Principles·Problems·Further Reading·A Real Searching Problem
Column 14: Heaps
The Data 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 Reading
Epilog to the First Edition
Epilog to the Second Edition
Appendix 1: A Catalog of Algorithms
Appendix 2: An Estimation Quiz
Appendix 3: Cost Models for Time and Space
Appendix 4: Rules for Code Tuning
Appendix 5: C++ Classes for Searching
Hints for Selected Problems
Solutions to Selected Problems
Index
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
Column 9: Code Tuning 7
A Typical Story·A First Aid Sampler·Major Surgery——Binary Search·Principles·Problems·Further Reading
Column 10: Squeezing Space
The KeySimplicity·An Illustrative Problem·Techniques for Data Space·Techniques for Code Space·Principles·Problems·Further Reading·A Big Squeeze
Part III: THE PRODUCT
Column 11: Sorting 115
Insertion Sort·A Simple Quicksort·Better Quicksorts·Principles·Problems·Further Reading
Column 12: A Sample Problem
The Problem·One Solution·The Design Space·Principles·Problems·Further Reading
Column 13: Searching
The Interface·Linear Structures·Binary Search Trees·Structures for Integers·Principles·Problems·Further Reading·A Real Searching Problem
Column 14: Heaps
The Data 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 Reading
Epilog to the First Edition
Epilog to the Second Edition
Appendix 1: A Catalog of Algorithms
Appendix 2: An Estimation Quiz
Appendix 3: Cost Models for Time and Space
Appendix 4: Rules for Code Tuning
Appendix 5: C++ Classes for Searching
Hints for Selected Problems
Solutions to Selected Problems
Index
猜您喜欢