20世纪顶尖30部计算机科学,周末荐读 | 叹为观止的算法基础经典

一周一读

0818b9ca8b590ca3270a3433284dd417.png

推荐

本书是《Data Structures and Algorithm Analysis in C》一书第3版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一。

>>>>

作者简介

MarkAllenWeiss

1987年在普林斯顿大学获得计算机科学博士学位,师从著名算法大师RobertSedgewick,现任美国佛罗里达国际大学计算与信息科学学院教授。他曾经担任全美AP(AdvancedPlacement)考试计算机学科委员会的主席(2000-2004)。他的主要研究方向是数据结构,算法和教育学。

>

>

>

>

内容简介

书中使用主流的程序设计语言C++作为具体的实现语言。书的内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。

《数据结构与算法分析:C++描述(第3版)》适合作为计算机相关专业本科生的数据结构课程和研究生算法分析课程的教材。本科生的数据结构课程可以使用《数据结构与算法分析:C++描述(第3版)》第1章~第9章,多学时课程还可以讲解第10章;研究生算法分析课程可以使用第6章~第12章。

>

>

>

>

试读

1.4 C++类

本书中提供了许多数据结构。(所有的这些数据结构都是用来存储数据通常是相同类型项的集合)的对象,并且提供处理这些集合的函数。在C++(或者其他编程语言)中,这通过使用类完成。本节讨论C++类

1.4.1 基本class语法

在C++中类由成员(member)构成。成员可以是数据,也可以是函数,其中函数称为成员函数(member function)。类中的每一个实例都是一个对象。每一个对象包含类中指定的数据成员(除非这些数据成员是static,否则这是一个可以暂时安全忽略的细节)。成员函数作用于对象,通常被称为方法(method)。

图1-5是IntCell类的一个例子。在IntCell类中,IntCell的每一个实例(IntCell对象)都包含一个称为storedValue的数据成员。这个类中的其他部分是方法。在这个例子中共有4个方法,其中2个方法是read和write,另外的2个是称为构造函数的特殊方法。下面论述某些关键特性。

0818b9ca8b590ca3270a3433284dd417.png

>

>

>

>

网友点评

① 表、栈、队列、树、图等基本数据结构作者并未花大力气描述,而是重在后面的对这些数据结构的应用上,每一个结论都给出了详尽的数学证明,阅读过程中,我们可以感受到蕴含在其中的匠心独运的逻辑思维之美。借用GOOGLE黑板报的一个专题,算法体现了——“数学之美”。

② 这种程度的书确实很少能见到了。它不在简单的地方无谓的浪费笔墨,恰到好处的把初学者带入算法和数据结构的世界。它基本上涉及了数据结构基础的“方方面面”。很难想象这书的厚度,居然能讲这么多内容(你看看算法导论有多厚就知道我在说什么了)。

③ 这本书买了很多年,搬了这么多次工位,一直在办公室常备的书(虽然已经很少翻看)。里面使用的代码,不是所谓的伪代码,而是正经可以运行的C代码,所以新人如果能照着做一遍下来,收获应该不小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值