本书是经典数据结构教材的全新版本,国内外大多数的同类教材都是以本书为蓝本编写而来的。
本书用C作为描述语言,全面而生动地介绍了数据结构的有关知识,如数组、栈、队列、链表、树和图,以及构成所有软件基础的排序散列技术。此外,本书还介绍了各种高级或特殊数据结构,如优先级队列、高效二叉查找树、多路查找树等。本书对大多数算法都给出了计算时间在很优、很差情形下的复杂度分析。
本书不仅可以作为计算机及相关专业本科生“数据结构”课程的教材,也可以作为研究生一学年的“高等数据结构”课程的教材,同时,本书所介绍的各种算法的C语言实现,对有关专业人员也具有很好的参考价值。
Ellis Horowitz,是南加州大学计算机与电子工程系的教授。Horowitz博士已编著了10多本教材,并发表了大量学术论文。
Sartaj Sahni是佛罗里达大学计算机与信息科学系的杰出教授和讲座教授。Sahni博士已发表300多篇学术研究论文,编著了15本教材。
Susan Anderson-Freed是伊利诺伊卫斯理大学计算机教授。她的研究领域是数据库管理系统、Web设计与开发。她毕业于诺伯特大学,并在印第安纳大学获得硕士和博士学位,以及在Bradley大学获得计算机理学地硕士学位。她从1977年起就供职于伊利诺伊卫斯理大学。
第1章 基本概念
1.1 概观:系统生命周期
1.2 指针和动态存储分配
1.2.1 指针
1.2.2 动态存储分配
1.2.3 指针隐患
1.3 算法形式规范
1.3.1 综论
1.3.2 递归算法
1.4 数据抽象
1.5 性能分析
1.5.1 空间复杂度
1.5.2 时间复杂度
1.5.3 渐近记号(O,Q,)
1.5.4 实际复杂度
1.6 性能度量
1.6.1 定时
1.6.2 生成测试数据
1.7 参考文献和选读材料
第2章 数组和结构
2.1 数组
2.1.1 数组的抽象数据类型
2.1.2 c语言的数组
2.2 数组的动态存储分配
2.2.1 一维数组
2.2.2 二维数组
2.3 结构体和联合体
2.3.1 结构体
2.3.2 联合体
2.3.3 结构的内部实现
2.3.4 自引用结构
2.4 多项式
2.4.1 多项式的抽象数据类型
2.4.2 多项式的表示
2.4.3 多项式加法
2.5 稀疏矩阵
2.5.1 稀疏矩阵的抽象数据类型
2.5.2 稀疏矩阵的表示
2.5.3 矩阵转置
2.5.4 矩阵相乘
2.6 多维数组的表示
2.7 字符串
2.7.1 字符串的抽象数据类型
2.7.2 C语言的字符串
2.7.3 模式匹配
2.8 参考文献和选读材料
2.9 补充习题
第3章 栈与队列
3.1 栈
3.2 动态栈
3.3 队列
3.4 动态循环队列
3.5 迷宫问题
3.6 表达式求值
3.6.1 表达式
3.6.2 后缀表达式求值
3.6.3 中缀表达式转换成后缀表达式
3.7 多重栈与多重队列
3.8 补充习题
第4章 链表
4.1 单向链表
4.2 用C语言表示单向链表
4.3 链式栈与链式队列
4.4 多项式
4.4.1 多项式表示
4.4.2 多项式加法
4.4.3 销毁多项式
4.4.4 循环链表与多项式
4.4.5 小结
4.5 其它链表操作
4.5.1 单向链表操作
4.5.2 循环链表操作
4.6 等价类
4.7 稀疏矩阵
4.7.1 稀疏矩阵表示
4.7.2 输入稀疏矩阵
4.7.3 输出稀疏矩阵
4.7.4 销毁稀疏矩阵
4.8 双向链表
第5章 树
5.1 引论
5.1.1 术语
5.1.2 树的表示
5.2 二叉树
5.2.1 二叉树的抽象数据类型
5.2.2 二叉树的性质
5.2.3 二叉树的表示
5.3 遍历二叉树
5.3.1 中序遍历
5.3.2 先序遍历
5.3.3 后序遍历
5.3.4 非递归(循环)中序遍历
5.3.5 层序遍历
5.3.6 不设栈遍历二叉树
5.4 其它二叉树操作
5.4.1 复制二叉树
5.4.2 判断两个二叉树全等
5.4.3 可满足性问题
5.5 线索二叉树
5.5.1 线索
5.5.2 中序遍历线索二叉树
5.5.3 线索二叉树插入结点
5.6 堆
5.6.1 优先级队列
5.6.2 大根堆定义
5.6.3 大根堆插入操作
5.6.4 大根堆删除操作
5.7 二叉查找树
5.7.1 定义
5.7.2 二叉查找树的查找
5.7.3 二叉查找树的插入
5.7.4 二叉查找树的删除
5.7.5 二叉查找树的合并与分裂
5.7.6 二叉查找树的高度
5.8 选拔树
5.8.1 引子
5.8.2 优胜树
5.8.3 淘汰树
5.9 森林
5.9.1 森林转换为二叉树
5.9.2 遍历森林
5.10 不相交集合的表示
5.10.1 引子
5.10.2 合并与查找操作
5.10.3 划分等价类
5.11 二叉树的计数
5.11.1 不同态二叉树
5.11.2 栈置换
5.11.3 矩阵乘法
5.11.4 不同二叉树的数目
5.12 参考文献和选读材料
第6章 图
6.1 图的抽象数据类型
6.1.1 引子
6.1.2 图的定义和术语
6.1.3 图的表示
6.2 图的基本操作
6.2.1 深度优先搜索
6.2.2 广度优先搜索
6.2.3 连通分量
6.2.4 生成树
6.2.5 重连通分量
6.3 最小代价生成树
6.3.1 Kruskal算法
6.3.2 Prim算法
6.3.3 SoUin算法
6.4 最短路径和迁移闭包
6.4.1 单源点至所有其它节点:边权值非负
6.4.2 单源点至所有其它节点:边权值正负无限制
……
第7章 排序
第8章 Hash法
第9章 优先级队列
第10章 高效二叉查找树
第11章 多路查找树
第12章 数字查找结构
索引
《数据结构基础》是一本优秀的数据结构教材,取材全面,难易适中,内容组织合理,详略得当,深入浅出,而且论证逻辑性强,所以广为国内外高校计算机专业选用。此外,这本英文教材对国内许多数据结构教材的编写也有显著影响。此中译本是《数据结构基础》c语言版第2版的译本,与第1版相比,新版篇幅扩张很大,内容全面更新,全书覆盖①线性(序)数据类型、②树型数据类型、③网状数据类型,以及④排序算法与⑤查找算法。基本数据结构包括线性表(数组与链表)、栈与队列、树、图等经典内容,特点为运用抽象数据类型(ADT)观点一一呈现。另外,书中包含大量符合ANSIC标准的程序,实例丰富,习题众多,并有大量图表。《数据结构基础(C语言版)第2版》最鲜明的特点是:用几乎一半篇幅,即第8~12章,详细讨论了各种查找表结构及其查找算法,而且内容组织很新颖。这最后5章既包括查找法的经典内容,如Hash法和AVL树等;也包括数据结构研究的新进展,如分摊复杂度分析等;还包括当前数据结构研究的热点,即各种堆结构。这部分内容特别适合数据结构提高课程,也特别适合学过基本数据结构的读者自学提高。以下列出《数据结构基础(C语言版)第2版》有关查找的内容及其编排体系。
我发现这本书的一个潜在的“缺点”,或者说是一种提醒吧,就是它更适合那些已经有一定C语言基础的学习者。如果你是完全的编程新手,可能在理解书中的C语言代码部分会有些困难。虽然书中没有明确要求,但我觉得在阅读前,对C语言的基础语法和一些核心概念有所了解,会大大提升学习效率。否则,你可能需要在同时阅读另一本C语言教材。
评分老实说,这本书的语言风格比较学术化,有些地方的表述比较严谨,甚至有些“咬文嚼字”。这使得它在可读性方面,可能不如一些更偏向通俗易懂的科普读物。不过,对于一本严谨的计算机科学教材来说,这种风格也是可以理解的,毕竟它需要精确地传递知识,避免产生歧义。我个人认为,如果能加入一些更贴近实际应用场景的案例分析,可能会让学习过程更有趣一些。
评分我对这本书的整体评价是,它是一本非常扎实、内容全面、体系严谨的计算机数据结构教材。它可能不是最容易入门的,但绝对是一本能够让你深入理解数据结构核心概念的优秀读物。对于那些想要打下坚实计算机基础,尤其是从事相关算法开发和研究的学生或开发者来说,这本书绝对是值得拥有的。
评分我对这本书的另一印象深刻的地方是它对算法复杂度的分析。书中对各种数据结构和算法的时间复杂度和空间复杂度都有非常详细的分析和讨论,并且给出了清晰的图表和公式推导。这对于我理解算法的效率以及在实际应用中如何选择最优算法至关重要。虽然有时觉得分析过程有点枯燥,但这种严谨的科学态度正是这本教材所传达的核心价值。
评分这本书的排版和章节组织结构是我非常欣赏的一点。每一章都从一个基本概念讲起,然后逐步深入,层层递进。每讲完一个数据结构或算法,都会有相应的C语言代码示例,并且这些代码都写得相当规范,注释也很详细,这一点对于我这种喜欢通过代码来理解抽象概念的人来说,简直是福音。很多时候,我会在阅读理论部分的时候,同步对照着代码去理解,这样一来,整个学习过程就变得更加生动和有条理。
评分说实话,这本书的厚度让我当时有点小小的畏惧,但当我真正沉浸其中开始阅读时,我发现内容是那样充实,每一页都承载着作者的智慧和对知识的耐心讲解。虽然有时候需要停下来,反复推敲某个算法的证明过程,或者对着代码进行调试,但这正是我所期望的深度学习体验。这本书就像一位经验丰富的导师,循循善诱,引导我一步步走近数据结构的奥秘。
评分这本书的作者在数据结构领域无疑是专家,他们的知识体系非常扎实,对概念的理解也非常深刻。从他们的笔触中,我能感受到作者深厚的学术功底和丰富的教学经验。他们能够用一种比较系统化的方式来呈现数据结构这个庞大的知识体系,并且将C语言的特性很好地融入到讲解和实现中,这使得这本书在同类教材中独具特色。
评分我是一个比较注重实践的学习者,所以对书中提供的习题和课后练习相当看重。这本书的习题设计得很有梯度,从最简单的概念巩固,到需要综合运用多个知识点的复杂问题,应有尽有。我尝试做了一些,发现它们能很好地检验我对知识的掌握程度,同时也暴露了我一些理解上的盲区。有些习题的答案在书的后面有提供,这对于我自我检查非常有帮助。
评分我承认,我一开始被这本书的“精选”和“著名”这两个词吸引了,总觉得能被选入“世界著名计算机教材精选”系列,质量肯定差不了。拿到手后,翻看目录,确实涵盖了数据结构中几乎所有核心内容,从最基础的数组、链表、栈、队列,到更复杂的树、图、排序和查找算法,内容非常全面。虽然我是带着期待去看的,但实际阅读过程中,还是有一些地方让我感到有些吃力。尤其是一些算法的证明和推导,虽然严谨,但对于初学者来说,可能需要反复琢磨才能完全理解。
评分这本书我拿到手已经有一段时间了,我一直断断续续地在看,想给它一个全面且客观的评价,但又觉得好像还有很多细节值得深入挖掘。首先,这本书的出版质量相当不错,纸张厚实,印刷清晰,拿在手里有分量感,不是那种轻飘飘的感觉。封面设计也比较简洁大气,没有过多花哨的图案,直接点明了主题,让人一眼就能看出这是一本严肃的学术著作。我尤其喜欢它所采用的C语言作为实现语言,这对于很多计算机专业的学生来说,是最熟悉不过的编程语言了,上手也更加容易。
评分经典书的第二版,涵盖了大部分基本的数据结构,比国内教材好。内容由浅入深,适合初学者及对数据结构有一定知识的人士,可以巩固相关知识~ 翻译的也还可以!
评分数据结构的经典数据,学习数据结构的同学可以买,同时学过数据结构的也可以当参考书来看
评分生成测试数据
评分课程需要,内容很详细
评分真是不容易 一口气买了5本C++书籍
评分4.4.3
评分结构体和联合体
评分不错 现在几乎所有东西都京东购买了
评分实惠便捷,信赖京东。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有