编辑推荐
本书浅入深地用多种语言详细讲解了计算机存储使用的多种数据结构。
内容简介
本书首先讲解了初级的数据结构如表、栈、队列和堆等,以及它们的详细分析及其典型的应用程序等。除此之外,本书还讨论了更高级的数据结构,如泛型集合、排序、搜索和递归等,以及如何在日常应用中使用这些数据结构。本书通过实际案例向读者介绍了多种数据结构及其它们的潜在应用,教会读者如何分析问题、选择合适的数据结构解决方案等。
作者简介
作者William Smith,早年获得了环境科学与商务管理学位,在环境领域从事了数年的专业工作。他的软件开发经历始于1988年,并在从事环境领域工作时,始终将编程作为他的兴趣爱好,不断进行软件开发。后来他进入了马里兰大学深造,并获得了计算机科学学位。 William 现在是一名独立软件开发工程师和专业技术图书的作者。他成立了Appsmiths公司,该公司的主要业务是软件开发和咨询,致力于使用原生工具和跨平台工具(如Xamarin和Monogame)来进行移动应用和游戏开发。 William与他的夫人和孩子一起居住在西佛吉尼亚州的乡村,全家享受着打猎、钓鱼和露营给他们带来的乐趣。
章节目录
版权信息
内容提要
作者简介
评阅人简介
前言
本书涵盖的内容
读者所需的准备工作
本书的目标读者
排版约定
读者反馈
客户支持
下载示例代码
勘误
反盗版声明
疑问
资源与支持
配套资源
第1章 数据类型:基本的数据结构
1.1 数值数据类型
1.1.1 整型
1.1.2 单精度浮点类型
1.1.3 双精度浮点类型
1.1.4 货币类型
1.1.5 类型转换
1.2 布尔数据类型
1.2.1 运算符优先级
1.2.2 短路求值
1.3 字符串
1.4 小结
第2章 数组:基本数据集
2.1 可变数组与不可变数组
案例学习:用户登录到一个Web服务
2.2 高级话题
2.2.1 线性查找
2.2.2 原始数组
2.2.3 对象数组
2.2.4 混合数组
2.2.5 多维数组
2.2.6 不规则数组
2.3 小结
第3章 列表:线性数据集
3.1 列表的实现
3.1.1 数组表
3.1.2 链表
3.2 列表的实例化
3.3 案例回顾:用户登录到一个Web服务
3.3.1 泛型
3.3.2 案例学习:自行车路径
3.4 双链表
3.5 查找
3.6 一些指针
3.7 小结
第4章 栈:后入先出的数据集
4.1 栈的初始化
4.1.1 UINavigationController
4.1.2 栈的操作
4.2 案例学习:运动规划算法
4.3 高级话题——栈的实现
4.3.1 数组栈
4.3.2 链表栈
4.4 小结
第5章 队列:先入先出的数据集
5.1 队列的初始化
队列的操作
5.2 案例学习:客户服务
5.3 高级话题
5.3.1 数组队列
5.3.2 链表队列
5.3.3 堆队列
5.3.4 双端队列
5.3.5 优先级队列
5.4 小结
第6章 字典:关键字数据集
6.1 字典的初始化
字典的操作
6.2 案例学习:游戏代币统计
6.3 高级话题
6.3.1 散列表字典
6.3.2 查找树字典
6.4 小结
第7章 集合:不包含重复项的数据集
7.1 集合论
7.2 集合的初始化
集合的操作
7.3 案例回顾:用户登录到一个Web服务
代码契约(contract)
7.4 案例学习:音乐播放列表
7.5 高级话题
7.5.1 散列表集合
7.5.2 树集合
7.5.3 数组集合
7.6 小结
第8章 结构体:更为复杂的数据类型
8.1 基本要点
8.1.1 C
8.1.2 Java
8.1.3 Objective-C
8.1.4 Swift
8.2 枚举类型
案例学习:地铁线路
8.3 小结
第9章 树:非线性数据结构
9.1 树结构与树类型
9.2 树的相关术语
9.3 树的基本操作
9.4 树的实例化
9.5 树的结构
9.6 递归
9.7 遍历
9.8 小结
第10章 堆:有序树
10.1 堆的实现
10.2 堆的操作
10.3 堆的实例化
10.4 最小堆结构
10.5 常见应用场景
10.6 小结
第11章 图:互相连接的对象
11.1 概念图示
11.2 图的操作
11.3 图的实现
11.4 图数据结构
11.5 小结
第12章 排序:为混乱带来秩序
12.1 选择排序
12.2 插入排序
12.3 冒泡排序
12.4 快速排序
12.5 归并排序
12.6 桶排序
12.7 小结
第13章 查找:找你所需
13.1 线性查找
13.2 二分查找
13.3 跳跃查找
13.4 小结
程序员学数据结构是2018年由人民邮电出版社出版,作者[美] William Smith。
得书感谢您对《程序员学数据结构》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。