《編程珠璣 第2版 英文版》是計算機科學方面的經典名著。書的內容圍繞程序設計人員面對的一系列實際問題展開。作者Jon Bentley 以其獨有的洞察力和創(chuàng)造力,引導讀者理解這些問題并學會解決方法,而這些正是程序員實際編程生涯中至關重要的。
《編程珠璣 第2版 英文版》的特色是通過一些精心設計的有趣而又頗具指導意義的程序,對實用程序設計技巧及基本設計原則進行了透徹而睿智的描述,為復雜的編程問題提供了清晰而完備的解決思路。本書對各個層次的程序員都具有很高的閱讀價值。
非常有影響力的計算機科學著作之一 融深邃思想、實戰(zhàn)技術與趣味軼事于一爐的奇書 帶你真正領略計算機科學之美 多年以來,當程序員們推選出心愛的計算機圖書時,《編程珠璣》總是位于前列。正如自然界里珍珠出自細沙對牡蠣的磨礪,計算機科學大師Jon Bentley以其獨有的洞察力和創(chuàng)造力,從磨礪程序員的實際問題中凝結出一篇篇不朽的編程“珠璣”,成為世界計算機界名刊《ACM通訊》非常受歡迎的專欄,結集為兩部不朽的計算機科學經典名著,影響和激勵著一代又一代程序員和計算機科學工作者。本書為第1卷,主要討論計算機科學中很本質的問題:如何正確選擇和高效地實現(xiàn)算法。 在書中,作者選取許多具有典型意義的復雜編程和算法問題,生動描繪了歷史上眾大師們在探索解決方案中發(fā)生的軼事、走過的彎路和不斷精益求精的歷程,引導讀者像真正的程序員和軟件工程師那樣富于創(chuàng)新性地思考,并透徹闡述和總結了許多獨特而精妙的設計原則、思考和解決問題的方法以及實用程序設計技巧。解決方案的代碼均以C/C++語言編寫,不僅有趣,而且有很大的實戰(zhàn)示范意義。每章后所附習題極具挑戰(zhàn)性和啟發(fā)性,書末給出了簡潔的解答。
Jon Bentley 世界知名的計算機科學家,被譽為影響算法發(fā)展的十位大師之一。他先后任職于卡內基-梅隆大學(1976~1982)、貝爾實驗室(1982~2001)和Avaya實驗室(2001年至今)。在卡內基-梅隆大學擔任教授期間,他培養(yǎng)了包括Tcl語言設計者John Ousterhout、Java語言設計者James Gosling、《算法導論》作者之一Charles E. Leiserson在內的許多計算機科學大家。2004年榮獲Dr. Dobb's程序設計卓越獎。
Part I: PRELIMINARIES 1
第一部分 基礎
Column 1: Cracking the Oyster 3
第1章 開 篇
A Friendly Conversation / 一次友好的對話
Precise Problem Statement / 準確的問題描述
Program Design / 程序設計
Implementation Sketch / 實現(xiàn)概要
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 / 變位詞程序的實現(xiàn)
Column 3: Data Structures Programs 21
第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 33
第4章 編寫正確的程序
The Challenge of Binary Search / 二分搜索的挑戰(zhàn)
Writing the Program / 編寫程序
Understanding the Program / 理解程序
Principles / 原理
The Roles ofProgram Verification / 程序驗證的角色
Problems / 習題
Further Reading / 深入閱讀
Column 5: A Small Matter of Programming 45
第5章 編程小事
From Pseudocode to C / 從偽代碼到C程序
A Test Harnes掃描算法
What Does It Matter? / 實際運行時間
Principles / 原理
Problems / 習題
Further Reading / 深入閱讀
Column 9: Code Tuning 87
第9章 代碼調優(yōu)
A Typical Story / 典型的故事
A First Aid S結構
Binary Search Trees / 二分搜索樹
Structures for Integers / 用于整數的結構
Principles / 原理
Problems / 習題
Further Reading / 深入閱讀
A Real Searching Problem / 一個實際搜索問題
Column