内容推荐 本书采用独到的跨学科方法讲授计算机科学和编程的入门知识,适用于各类理工科专业的大一学生。书中特别关注编程在科学和工程中的应用,涵盖材料科学、基因组学、天体物理和网络系统等不同领域的实例,在讲授编程方法的同时注重培养计算思维。本书采用Java编程语言,首先介绍编程基础知识、函数和面向对象编程,然后讨论不错主题,包括算法和数据结构、计算理论以及计算机体系结构。 作者简介 罗伯特·塞奇威克(Robert Sedgewick) 普林斯顿大学计算机科学系创始人,目前仍然在系里担任教授。他于1975年在斯坦福大学获得博士学位,师从计算机科学界泰斗高德纳教授。他是Adobe公司的董事,并曾在Xerox PARC、IDA和INRIA公司担任研究员。他所编写的《算法》系列书籍在业界具有举足轻重的影响力。 凯文·韦恩(Kevin Wayne) 自1998年开始在普林斯顿大学计算机科学系任教,曾荣获众多教学方面的奖项,包括ACM杰出教育奖。他和Sedgewick还是MOOC的先驱,他们共同开设的MOOC课程吸引了超过100万的学习者。 目录 1—Elements of Programming 1 1.1 Your First Program 2 1.2 Built-in Types of Data 14 1.3 Conditionals and Loops 50 1.4 Arrays 90 1.5 Input and Output 126 1.6 Case Study: Random Web Surfer 170 2—Functions and Modules 191 2.1 De?ning Functions 192 2.2 Libraries and Clients 226 2.3 Recursion 262 2.4 Case Study: Percolation 300 3—Object-Oriented Programming329 3.1 Using Data Types 330 3.2 Creating Data Types 382 3.3 Designing Data Types 428 3.4 Case Study: N-Body Simulation 478 4—Algorithms and Data Structures 493 4.1 Performance 494 4.2 Sorting and Searching 532 4.3 Stacks and Queues 566 4.4 Symbol Tables 624 4.5 Case Study: Small-World Phenomenon 670 5—Theory of Computing 715 5.1 Formal Languages 718 5.2 Turing Machines 766 5.3 Universality 786 5.4 Computability 806 5.5 Intractability 822 6—A Computing Machine 873 6.1 Representing Information 874 6.2 TOY Machine 906 6.3 Machine-Language Programming 930 6.4 TOY Virtual Machine 958 7—Building a Computing Device 985 7.1 Boolean Logic 986 7.2 Basic Circuit Model 1002 7.3 Combinational Circuits 1012 7.4 Sequential Circuits 1048 7.5 Digital Devices 1070 Context1093 Glossary 1097 |