《數據結構和編程設計——套用C語言》是2013年科學出版社出版的圖書,作者是[美]Robert Kruse、C.L.Tondo、Bruce Leung。
基本介紹
- 書名:數據結構和編程設計——套用C語言
- 作者:[美]Robert Kruse、C.L.Tondo、Bruce Leung
- 原版名稱:Data Structures & Program Design in C(Second Edition)
- 譯者:潘斯斯、匡敏
- ISBN:9787030362230
- 頁數:671
- 定價:95
- 出版社:科學出版社
- 出版時間:2013年1月
- 裝幀:平裝
- 開本:16開
內容簡介
本書既可作為高等學校計算機及相關專業學生的教材,亦可供從事計算機套用的工程技術人員參考。
目錄
Synopsis
Changes in the Second Edition
Course Structure
Book Production
Acknowledgments
CHAPTER 1
Programming Principles 1
1.1 Introduction 2
1.2 The Game of Life 4
1.2.1 Rules for the Game of Life 4
1.2.2 Examples 5
1.2.3 The Solution 6
1.2.4 Life: The Main Program 7
1.3 Programming Style 10
1.3.1 Names 10
1.3.2 Documentation and Format 12
1.3.3 Refinement and Modularity 14
1.4 Coding, Testing, and
Further Refinement 19
1.4.1 Stubs 19
1.4.2 Counting Neighbors 20
1.4.3 Input and Output 21
1.4.4 Drivers 24
1.4.5 Program Tracing 25
1.4.6 Principles of Program Testing 26
Pointers and Pitfalls 30
Review Questions 32
References for Further Study 32
C 32
Programming Principles 33
The Game of Life 33
CHAPTER 2
Introduction to
Software Engineering 34
2.1 Program Maintenance 35
2.1.1 Review of the Life Program 35
2.1.2 A Fresh Start and a New Method for Life 37
2.2 Algorithm Development: A Second Version of Life 40
2.2.1 Lists: Specifications for a Data Structure 40
2.2.2 The Main Program 45
2.2.3 Information Hiding 47
2.2.4 Refinement: Development of the Subprograms 48
2.2.5 Verification of Algorithms 50
2.3 Coding 55
2.3.1 The List Functions 55
2.3.2 Error Processing 56
2.3.3 Demonstration and Testing 57
2.4 Coding the Life Functions 62
2.5 Program Analysis and Comparison 66
2.6 Conclusions and Preview 68
2.6.1 The Game of Life 68
2.6.2 Program Design 70
2.6.3 C 73
Pointers and Pitfalls 75
Review Questions 75
References for Further Study 76
CHAPTER 3
Stacks and Recursion 77
3.1 Stacks 78
3.1.1 introduction 78
3.1.2 First Example: Reversing a Line 79
3.1.3 Information Hiding 80
3.1.4 Specifications for a Stack 81
3.1.5 Implementation of Stacks 83
3.1.6 Linked Stacks 85
3.2 Introduction to Recursion 91
3.2.1 Stack Frames for Subprograms 91
3.2.2 Tree of Subprogram Calls 91
3.2.3 Factorials: A Recursive Definition 93
3.2.4 Divide and Conquer: The Towers of Hanoi 95
3.3 Backtracking: Postponing the Work 101
3.3.1 Solving the Eight-Queens Puzzle 102
3.3.2 Example: Four Queens 102
3.3.3 Backtracking 103
3.3.4 Refinement: Choosing the Data Structures 104
3.3.5 Analysis of Backtracking 107
3.4 Principles of Recursion 110
3.4.1 Designing Recursive Algorithms 110
3.4.2 How Recursion Works 111
3.4.3 Tail Recursion 115
3.4.4 When Not to Use Recursion 116
3.4.5 Guidelines and Conclusions 120
Pointers and Pitfalls 122
Review Questions 124
References for Further Study 124
CHAPTER 4 Queues and Linked Lists
4.1 Definitions 127
4.2 Implementations of Queues 131
4.3 Circular Queues in C 135
4.4 Application of Queues: Simulation 139
……
CHAPTER 5 General Lists
CHAPTER 6 Searching
CHAPTER 7 Sorting
CHAPTER 8 Tables and Information Retrieval
CHAPTER 9 Binary Trees
CHAPTER 10 Multiway Trees
CHAPTER 11 Graphs
CHAPTER 12 Case Study: The Polish Notation
APPENDIX A Mathematical Methods
APPENDIX B Removal of Recursion
APPENDIX C An Introduction to C
References for Further Study
INDEX