原书名:Mastering Algorithms with C
译者:肖翔 / 陈舸
豆瓣收藏: http://book.douban.com/subject/14267904/
样章试读: http://vdisk.weibo.com/s/d_LeW
互动网: http://product.china-pub.com/3684098
当当网: http://product.dangdang.com/main/product.aspx?product_id=22872776
卓越网: http://www.amazon.cn/dp/B009A2RZPC
京东网: http://book.360buy.com/11090340.html
内容简介:
本书是数据结构和算法领域的经典之作,十余年来,畅销不衰!全书共分为三部分:第一部分首先介绍了数据结构和算法的概念,以及使用它们的原因和意义,然后讲解了数据结构和算法中最常用的技术——指针和递归,最后还介绍了算法的分析方法,旨在为读者学习这本书打下坚实的基础;第二部分对链表、栈、队列、集合、哈希表、堆、图等常用数据结构进行了深入阐述;第三部分对排序、搜索数值计算、数据压缩、数据加密、图算法、几何算法等经典算法进行了精辟的分析和讲解。
本书的众多特色使得它在同类书中独树一帜:具体实现都采用正式的C语言代码而不是伪代码,在很多数据结构和算法的实现过程中,有大量细节问题是伪代码不能解决的;每一章都有精心组织的主题和应用;全部示例来自真实的应用,不只是一般的练习;对每种数据结构、算法和示例都进行了详细分析;每一章的末尾都会有一系列问题和对应的回答,旨在强调这一章的重要思想……
本书中的代码尤为值得强调:所有实现都采用C语言编写,所有代码都优先用于教学目的,所有代码都在4种平台上经过完整测试,头文件记录了所有公共的接口,命名规则适用于全书所有的代码,所有的代码都包含大量注释……
本书内容包括:
- 数据结构和算法的概念,以及使用它们的原因和意义
- 指针和递归
- 算法分析
- 常用数据结构:链表、栈、队列、集合、哈希表、树、堆、优先级队列以及图
- 排序和搜索
- 数值计算
- 数据压缩
- 数据加密
- 图算法
- 几何算法
作者简介:
勘误(更新时间:2012-12-29):
1. P94 第15行
原文:示例6-4:队列抽象数据类型的现实
改为:示例6-4:队列抽象数据类型的实现
2. P102 倒数第12行
原文:调用set_destroy后集合的其他操作都不允许再执行,除非再次调用它。
改为:调用set_destroy后集合的其他操作都不允许再执行,除非再次调用set_init。
3. P104 第6行
原文:返回值 如果找到成员返回1;否则返回。
改为:返回值 如果找到成员返回1;否则返回0。
4. P165 第5行 (备注:此句重新翻译)
原文:要找出图9-7所示的树中值为15的节点,从根节点开始并往其左子节点移动,因为15比20要小。然后移动到节点值为9的右子节点上,因为15比9要大,此时节点值恰好为15,于是就找到了所需要的目标节点。
改为:要找出图9-7所示的树中值为15的节点,从根节点开始,因为15比20要小,往其左子节点移动。移动到节点值为9的节点上,因为15比9要大,往其右子节点移动,此时节点值恰好为15,于是就找到了所需要的目标节点。
5. P165 第10行 (备注:此句重新翻译)
原文:将值为65的节点插入如图9-7所示的树中,从根节点开始,然后移动到右子节点,因为65比20要大。再次移动到右子节点,因为65比53大。最后再移动到左子节点,因为此时65要小于79。该节点已经是树的分支尽头了,因此将待插入的节点插入79对应的左子节点上。
改为:将值为65的节点插入如图9-7所示的树中,从根节点开始,因为65比20要大,移动到右子节点。因为65比53大,再次移动到右子节点。因为此时65要小于79,最后再移动到左子节点。该节点已经是树的分支尽头了,因此将待插入的节点插入79对应的左子节点上。
说明:本勘误将随时更新,如果您发现新的勘误,请留言,编辑核实后会更新到网页上,谢谢大家!