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