本书使用Python和C 两种编程语言来介绍数据结构。Python的面向对象特性, 让它成为一种非常适合用来学习数据结构课程的语言。C 的语法比Python更复杂,但是在学习了Python并掌握了基本的编程概念之后,学习C 的语法变得更为容易。 本书首先介绍了抽象与算法分析、数据的抽象等数据结构的基本原理和知识, 然后结合Python的特介绍了容器类、式结构和迭代器、堆栈和队列、递归、树;随后,简单介绍了C 语言的知识,并一步讲解了C 类、C 的动态内存、C 的式结构、C 模板、堆、平衡树和散列表、图等内容;*后对算法技术行了总结。每章末尾给出了一些练习题和编程练习,帮助读者复习巩固所学的知识。 本书适合作为高等院校计算机相关专业数据结构课程的教材和参考书,也适合对数据结构感兴趣的读者学习参考。 随书附赠源代码,可在异步社区轻松下载。
售 价:¥
纸质售价:¥66.20购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
内容提要
前言
资源与支持
第1章 抽象与分析
1.1 概要
1.2 功能的抽象
1.3 算法分析
1.4 小结
1.5 练习
第2章 数据的抽象
2.1 概要
2.2 抽象数据类型
2.3 抽象数据类型和对象
2.4 抽象数据类型的实例:数据集(Dataset)
2.5 抽象数据类型的实例:有理数(Rational)
2.6 增量开发以及单元测试
2.7 小结
2.8 练习
第3章 容器类
3.1 概要
3.2 Python的列表
3.3 顺序集合:扑克牌牌组
3.4 有序集合:手牌
3.5 Python里列表的实现
3.6 Python的字典(选读)
3.7 小结
3.8 练习
第4章 链式结构和迭代器
4.1 概要
4.2 Python的内存模型
4.3 链表实现
4.4 链表抽象数据类型的实现
4.5 迭代器
4.6 基于游标的列表API(选读)
4.7 链表vs数组
4.8 小结
4.9 练习
第5章 堆栈和队列
5.1 概要
5.2 堆栈
5.3 队列
5.4 队列的实现
5.5 应用程序示例:队列的模拟(选读)
5.6 小结
5.7 练习
第6章 递归
6.1 概要
6.2 递归定义
6.3 简单的递归示例
6.4 递归的分析
6.5 排序
6.6 一个“难”题:汉诺塔
6.7 小结
6.8 练习
第7章 树
7.1 概要
7.2 树的术语
7.3 示例应用程序:表达式树
7.4 树的存储方式
7.5 应用:二叉搜索树
7.6 使用二叉搜索树(BST)来实现映射(选读)
7.7 小结
7.8 练习
第8章 为Python程序员准备的C++简介
8.1 概要
8.2 C++的历史和背景
8.3 注释、代码块、变量名和关键字
8.4 数据类型和变量声明
8.5 Include语句、命名空间以及输入/输出
8.6 编译
8.7 表达式和运算符优先级
8.8 条件语句
8.9 数据类型转换
8.10 循环语句
8.11 数组
8.12 函数的细节
8.13 头文件和内联函数
8.14 断言与测试
8.15 变量的作用域以及生命周期
8.16 Python程序员编写C++程序时的常见错误
8.17 其他的C++相关话题(选读)
8.18 小结
8.19 练习
第9章 C++类
9.1 基本的语法和语义
9.2 字符串
9.3 文件输入和输出
9.4 运算符重载
9.5 类变量和方法
9.6 小结
9.7 练习
第10章 C++的动态内存
10.1 概要
10.2 C++的指针
10.3 动态数组
10.4 动态内存类
10.5 动态内存错误
10.6 小结
10.7 练习
第11章 C++的链式结构
11.1 概要
11.2 C++链式结构的类
11.3 C++链表
11.4 C++链接的动态内存错误
11.5 小结
11.6 练习
第12章 C++模板
12.1 概要
12.2 模板方法
12.3 模板类
12.4 小结
12.5 练习
第13章 堆、平衡树和散列表
13.1 概要
13.2 优先队列和堆
13.3 平衡树
13.4 其他的树结构
13.5 散列表
13.6 小结
13.7 练习
第14章 图
14.1 概要
14.2 图数据结构
14.3 最短路径算法
14.4 深度优先算法
14.5 最小生成树
14.6 小结
14.7 练习
第15章 算法技术
15.1 概要
15.2 分治算法
15.3 贪心算法
15.4 动态规划
15.5 NP完全问题
15.6 小结
15.7 练习
术语表
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜