W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
[美] 喬恩·本特利(Jon Bentley) 著,黃倩,錢麗艷 譯,劉田 校
歷史上偉大的計(jì)算機(jī)科學(xué)著作之一
融深邃思想、實(shí)戰(zhàn)技術(shù)與趣味軼事于一爐的奇書
帶你真正領(lǐng)略計(jì)算機(jī)科學(xué)之美
多年以來,當(dāng)程序員們推選出心愛的計(jì)算機(jī)圖書時(shí),《編程珠璣》總是位于前列。正如自然界里珍珠出自細(xì)沙對牡蠣的磨礪,計(jì)算機(jī)科學(xué)大師JonBentley以其獨(dú)有的洞察力和創(chuàng)造力,從磨礪程序員的實(shí)際問題中凝結(jié)出一篇篇不朽的編程“珠璣”,成為世界計(jì)算機(jī)界名刊《ACM通訊》歷史上受歡迎的專欄,結(jié)集為兩部不朽的計(jì)算機(jī)科學(xué)經(jīng)典名著,影響和激勵(lì)著一代又一代程序員和計(jì)算機(jī)科學(xué)工作者。本書為首卷,主要討論計(jì)算機(jī)科學(xué)中本質(zhì)的問題:如何正確選擇和高效地實(shí)現(xiàn)算法。
在書中,作者選取許多具有典型意義的復(fù)雜編程和算法問題,生動(dòng)描繪了歷史上眾大師們在探索解決方案中發(fā)生的軼事、走過的彎路和不斷精益求精的歷程,引導(dǎo)讀者像真正的程序員和軟件工程師那樣富于創(chuàng)新性地思考,并透徹闡述和總結(jié)了許多獨(dú)特而精妙的設(shè)計(jì)原則、思考和解決問題的方法以及實(shí)用程序設(shè)計(jì)技巧。解決方案的代碼均以C/C++語言編寫,不僅有趣,而且有很大的實(shí)戰(zhàn)示范意義。每章后所附習(xí)題極具挑戰(zhàn)性和啟發(fā)性,書末給出了簡潔的解答。
《編程珠璣(第2版·修訂版)》是計(jì)算機(jī)科學(xué)方面的經(jīng)典名著。書的內(nèi)容圍繞程序設(shè)計(jì)人員面對的一系列實(shí)際問題展開。作者JonBentley以其獨(dú)有的洞察力和創(chuàng)造力,引導(dǎo)讀者理解這些問題并學(xué)會解決方法,而這些正是程序員實(shí)際編程生涯中至關(guān)重要的。本書的特色是通過一些精心設(shè)計(jì)的有趣而又頗具指導(dǎo)意義的程序,對實(shí)用程序設(shè)計(jì)技巧及基本設(shè)計(jì)原則進(jìn)行了透徹而睿智的描述,為復(fù)雜的編程問題提供了清晰而完備的解決思路。《編程珠璣(第2版·修訂版)》對各個(gè)層次的程序員都具有很高的閱讀價(jià)值。
Jon Bentley,世界計(jì)算機(jī)科學(xué)家,被譽(yù)為影響算法發(fā)展的十位大師之一。他先后任職于卡內(nèi)基-梅隆大學(xué)(1976~1982)、貝爾實(shí)驗(yàn)室(1982~2001)和Avaya實(shí)驗(yàn)室(2001年至今)。在卡內(nèi)基-梅隆大學(xué)擔(dān)任教授期間,他培養(yǎng)了包括Tcl語言設(shè)計(jì)者JohnOusterhout、Java語言設(shè)計(jì)者JamesGosling、《算法導(dǎo)論》作者之一CharlesLeiserson在內(nèi)的許多計(jì)算機(jī)科學(xué)大家。2004年榮獲Dr。Dobb‘s程序設(shè)計(jì)卓越獎(jiǎng)。
黃倩,工學(xué)博士,中國計(jì)算機(jī)學(xué)會高級會員,先后就讀于南京大學(xué)、中國科學(xué)院計(jì)算技術(shù)研究所,先后工作于聯(lián)發(fā)博動(dòng)科技(北京)有限公司、河海大學(xué)計(jì)算機(jī)與信息學(xué)院。主要從事視頻處理、機(jī)器學(xué)習(xí)方面的研究工作,獲國家自然科學(xué)基金資助1項(xiàng),發(fā)表論文十余篇。
錢麗艷,北京大學(xué)信息科學(xué)技術(shù)學(xué)院基礎(chǔ)實(shí)驗(yàn)教學(xué)研究所軟件實(shí)驗(yàn)室主任、高級工程師、畢業(yè)于國防科技大學(xué),目前主要從事數(shù)值計(jì)算、程序設(shè)計(jì)方面的研究工作。
劉田,北京大學(xué)信息科學(xué)技術(shù)學(xué)院軟件研究所副教授、中國電子學(xué)會電路與系統(tǒng)分會圖論與系統(tǒng)優(yōu)化專業(yè)委員會秘書長、中國計(jì)算機(jī)學(xué)會和中國電子學(xué)會高級會員,畢業(yè)于中國科學(xué)技術(shù)大學(xué),目前主要從事算法分析和計(jì)算復(fù)雜度、量子信息處理等方面的研究工作,翻譯出版了多部國外離散數(shù)學(xué)和計(jì)算機(jī)理論教材。
★《編程珠璣》是對我職業(yè)生涯早期影響的書之一,其中的許多真知灼見多年之后仍然使我受益匪淺。”
——SteveMcConnell,軟件工程大師,IEEESoftware前主編,《代碼大全》作者
第一部分 基礎(chǔ)
第1章 開 篇
1.1 一次友好的對話
1.2 準(zhǔn)確的問題描述
1.3 程序設(shè)計(jì)
1.4 實(shí)現(xiàn)概要
1.5 原理
1.6 習(xí)題
1.7 深入閱讀
第2章 啊哈!算法
2.1 三個(gè)問題
2.2 處不在的二分搜索
2.3 基本操作的威力
2.4 排序
2.5 原理
2.6 習(xí)題
2.7 深入閱讀
2.8 變位詞程序的實(shí)現(xiàn)(邊欄)
第3章 數(shù)據(jù)決定程序結(jié)構(gòu)
3.1 一個(gè)調(diào)查程序
3.2 格式信函編程
3.3 一組示例
3.4 結(jié)構(gòu)化數(shù)據(jù)
3.5 用于特殊數(shù)據(jù)的強(qiáng)大工具
3.6 原理
3.7 習(xí)題
3.8 深入閱讀
第4章 編寫正確的程序
4.1 二分搜索的挑戰(zhàn)
4.2 編寫程序
4.3 理解程序
4.4 原理
4.5 程序驗(yàn)證的角色
4.6 習(xí)題
4.7 深入閱讀
第5章 編程小事
5.1 從偽代碼到C程序
5.2 測試工具
5.3 斷言的藝術(shù)
5.4 自動(dòng)測試
5.5 計(jì)時(shí)
5.6 完整的程序
5.7 原理
5.8 習(xí)題
5.9 深入閱讀
5.10 調(diào)試(邊欄)
第二部分 性能
第6章 程序性能分析
6.1 實(shí)例研究
6.2 設(shè)計(jì)層面
6.3 原理
6.4 習(xí)題
6.5 深入閱讀
第7章 粗略估算
7.1 基本技巧
7.2 性能估計(jì)
7.3 安全系數(shù)
7.4 Little定律
7.5 原理
7.6 習(xí)題
7.7 深入閱讀
7.8 日常生活中的速算(邊欄)
第8章 算法設(shè)計(jì)技術(shù)
8.1 問題及簡單算法
8.2 兩個(gè)平方算法
8.3 分治算法
8.4 掃描算法
8.5 實(shí)際運(yùn)行時(shí)間
8.6 原理
8.7 習(xí)題
8.8 深入閱讀
第9章 代碼調(diào)優(yōu)
9.1 典型的故事
9.2 急救方案集錦
9.3 大手術(shù)--二分搜索
9.4 原理
9.5 習(xí)題
9.6 深入閱讀
第10章 節(jié)省空間
10.1 關(guān)鍵在于簡單
10.2 示例問題
10.3 數(shù)據(jù)空間技術(shù)
10.4 代碼空間技術(shù)
10.5 原理
10.6 習(xí)題
10.7 深入閱讀
10.8 巨大的節(jié)?。ㄟ厵冢?br>
第三部分 應(yīng)用
第11章 排 序
11.1 插入排序
11.2 一種簡單的快速排序
11.3 更好的幾種快速排序
11.4 原理
11.5 習(xí)題
11.6 深入閱讀
第12章 取樣問題
12.1 問題
12.2 一種解決方案
12.3 設(shè)計(jì)空間
12.4 原理
12.5 習(xí)題
12.6 深入閱讀
第13章 搜 索
13.1 接口
13.2 線性結(jié)構(gòu)
13.3 二分搜索樹
13.4 用于整數(shù)的結(jié)構(gòu)
13.5 原理
13.6 習(xí)題
13.7 深入閱讀
13.8 一個(gè)實(shí)際搜索問題(邊欄)
第14章 堆
14.1 數(shù)據(jù)結(jié)構(gòu)
14.2 兩個(gè)關(guān)鍵函數(shù)
14.3 優(yōu)先級隊(duì)列
14.4 一種排序算法
14.5 原理
14.6 習(xí)題
14.7 深入閱讀
第15章 字符串
15.1 單詞
15.2 短語
15.3 生成文本
15.4 原理
15.5 習(xí)題
15.6 深入閱讀
第1版跋
第2版跋
附錄A 算法分類
附錄B 估算測試
附錄C 時(shí)空開銷模型
附錄D 代碼調(diào)優(yōu)法則
附錄E 用于搜索的C++類
部分習(xí)題提示
部分習(xí)題答案
索引
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: