本書是計(jì)算機(jī)科學(xué)方面的經(jīng)典名著,由計(jì)算機(jī)界極具影響力的兩位專家Brian W. Kernighan和Rob Pike合著。書的內(nèi)容圍繞程序設(shè)計(jì)實(shí)踐中的一系列問題展開,講述對(duì)于程序員有共性的知識(shí),以幫助各程序員寫出更高效的程序。本書從排錯(cuò)、測試、性能、可移植性、設(shè)計(jì)、界面、風(fēng)格和記法等方面,討論了程序設(shè)計(jì)中既具有實(shí)際意義又具有廣泛意義的思想、技術(shù)和方法。本書值得每位夢(mèng)想并努力成為程序員的人參考,值得每位計(jì)算機(jī)專業(yè)的學(xué)生和計(jì)算機(jī)工作者閱讀,也適合作為程序設(shè)計(jì)高級(jí)課程的教材或參考書。
作者簡介
暫缺《程序設(shè)計(jì)實(shí)踐(英文版)》作者簡介
圖書目錄
目錄
Chapter 1: Style / 風(fēng)格 1
1.1 Names / 名字 3
1.2 Expressions and Statements / 表達(dá)式和語句6
1.3 Consistency and Idioms / 一致性和習(xí)慣用語10
1.4 Function Macros / 函數(shù)宏17
1.5 Magic Numbers / 幻數(shù)19
1.6 Comments / 注釋23
1.7 Why Bother? / 為何要在風(fēng)格方面費(fèi)心 27
Chapter 2: Algorithms and Data Structures / 算法與數(shù)據(jù)結(jié)構(gòu)29
2.1 Searching / 檢索30
2.2 Sorting / 排序32
2.3 Libraries / 庫34
2.4 A Java Quicksort / 一個(gè)Java快速排序?qū)崿F(xiàn)37
2.5 O-Notation / 大O記法40
2.6 Growing Arrays / 自增長數(shù)組41
2.7 Lists / 表44
2.8 Trees / 樹50
2.9 Hash Tables / 散列表55
2.10 Summary / 小結(jié) 58
Chapter 3: Design and Implementation / 設(shè)計(jì)與實(shí)現(xiàn)61
3.1 The Markov Chain Algorithm / 馬爾可夫鏈算法62
3.2 Data Structure Alternatives / 在多種數(shù)據(jù)結(jié)構(gòu)之間選擇64
3.3 Building the Data Structure in C / 使用C語言構(gòu)建數(shù)據(jù)結(jié)構(gòu)65
3.4 Generating Output / 生成輸出69
3.5 Java 71
3.6 C++ 76
3.7 Awk and Perl / Awk和Perl 78
3.8 Performance / 性能80
3.9 Lessons / 經(jīng)驗(yàn)教訓(xùn)82
Chapter 4: Interfaces / 接口85
4.1 Comma-Separated Values / 逗號(hào)分隔值86
4.2 A Prototype Library / 一個(gè)原型庫87
4.3 A Library for Others / 一個(gè)