![]()
内容推荐 本书由浅入深地详细讲解了计算机存储使用的多种数据结构。本书首先讲解了初级的数据结构(如表、栈、队列和堆等),具体包括它们的工作原理、功能实现以及典型的应用程序等;然后讨论了数据结构,如泛型集合、排序、搜索和递归等;很后介绍了如何在日常应用中使用这些数据结构。本书通过实际案例向读者介绍了多种数据结构及其潜在应用,教会读者如何分析问题、选择合适的数据结构解决方案等。本书的一大特色是使用多种语言(C#、Java、Objective-C和Swift)进行讲述。本书适合初学编程或自学编程的人员以及计算机相关专业的教师和学生阅读,也很好适合程序员参考。 作者简介 William Smith早年获得了环境科学与商务管理学位,在环境领域从事了数年的专业工作。他的软件开发经历始于1988年,并在从事环境领域工作时,始终将编程作为他的兴趣爱好,不断进行软件开发。后来他进入了马里兰大学深造,并获得了计算机科学学位。William 现在是一名独立软件开发工程师和专业技术图书的作者。他成立了Appsmiths公司,该公司的主要业务是软件开发和咨询,致力于使用原生工具和跨平台工具(如Xamarin和Monogame)来进行移动应用和游戏开发。William与他的夫人和孩子一起居住在西佛吉尼亚州的乡村,全家享受着打猎、钓鱼和露营给他们带来的乐趣。 目录 第 1章 数据类型:基本的数据结构\t11.1 数值数据类型 11.1.1 整型 21.1.2 单精度浮点类型 101.1.3 双精度浮点类型 121.1.4 货币类型 151.1.5 类型转换 171.2 布尔数据类型 201.2.1 运算符优先级 221.2.2 短路求值 221.3 字符串 261.4 小结 29第 2章 数组:基本数据集 302.1 可变数组与不可变数组 32案例学习:用户登录到一个Web服务 322.2 高级话题 432.2.1 线性查找 432.2.2 原始数组 452.2.3 对象数组 462.2.4 混合数组 462.2.5 多维数组 472.2.6 不规则数组 492.3 小结 49第3章 列表:线性数据集 503.1 列表的实现 513.1.1 数组表 523.1.2 链表 533.2 列表的实例化 533.3 案例回顾:用户登录到一个Web服务 553.3.1 泛型 593.3.2 案例学习:自行车路径 603.4 双链表 733.5 查找 733.6 一些指针 743.7 小结 74第4章 栈:后入先出的数据集 754.1 栈的初始化 754.1.1 UINavigationController 764.1.2 栈的操作 774.2 案例学习:运动规划算法 774.3 高级话题——栈的实现 884.3.1 数组栈 884.3.2 链表栈 884.4 小结 89第5章 队列:先入先出的数据集 905.1 队列的初始化 915.2 案例学习:客户服务 935.3 高级话题 1065.3.1 数组队列 1065.3.2 链表队列 1065.3.3 堆队列 1065.3.4 双端队列 1075.3.5 优先级队列 1075.4 小结 107第6章 字典:关键字数据集 1086.1 字典的初始化 1096.2 案例学习:游戏代币统计 1136.3 高级话题 1256.3.1 散列表字典 1266.3.2 查找树字典 1266.4 小结 126第7章 集合:不包含重复项的数据集 1277.1 集合论 1287.2 集合的初始化 1297.3 案例回顾:用户登录到一个Web服务 1337.4 案例学习:音乐播放列表 1377.5 高级话题 1507.5.1 散列表集合 1507.5.2 树集合 1517.5.3 数组集合 1517.6 小结 151第8章 结构体:更为复杂的数据类型 1528.1 基本要点 1528.1.1 C# 1528.1.2 Java 1588.1.3 Objective-C 1588.1.4 Swift 1618.2 枚举类型 1658.3 小结 170第9章 树:非线性数据结构 1719.1 树结构与树类型 1719.2 树的相关术语 1729.3 树的基本操作 1739.4 树的实例化 1749.5 树的结构 1749.6 递归 2079.7 遍历 2089.8 小结 209第 10章 堆:有序树 21010.1 堆的实现 21010.2 堆的操作 21110.3 堆的实例化 21210.4 最小堆结构 21210.5 常见应用场景 22710.6 小结 227第 11章 图:互相连接的对象 22811.1 概念图示 22811.2 图的操作 22911.3 图的实现 23111.4 图数据结构 23111.5 小结 249第 12章 排序:为混乱带来秩序 25012.1 选择排序 25112.2 插入排序 25512.3 冒泡排序 25912.4 快速排序 26312.5 归并排序 26812.6 桶排序 27312.7 小结 276第 13章 查找:找你所需 27713.1 线性查找 27713.2 二分查找 28113.3 跳跃查找 28413.4 小结 289 |