大数据与人工智能技术丛书数据结构(Python语言描述)-微课视频版
- ISBN:9787302570509
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:472
- 出版时间:2020-11-01
- 条形码:9787302570509 ; 978-7-302-57050-9
内容简介
本书首先简要回顾了Python语言的基础知识和程序设计的基本原则,然后依次介绍线性表、栈、队列、树、二叉树、图等常见的数据结构的基本概念、特点、存储表示、基本操作的算法实现及应用场合,很后介绍计算机中很常见的查找、排序等操作的算法原理、实现方法,并对算法的时间、空间性能等进行综合分析。 本书可作为高等学校计算机科学、软件工程、人工智能等专业“数据结构”课程的理想教材,也可供程序员、系统工程师等相关人员阅读参考。
目录
目录
源码下载
第1章Python语言程序设计基础
1.1Python基础知识
1.1.1Python概述及运行环境
1.1.2Python的变量和数据类型
1.1.3Python的运算符
1.1.4函数
1.1.5输入、输出和文件
1.1.6异常处理
1.1.7模块
1.2Python面向对象编程
1.2.1面向对象的基本概念
1.2.2类的定义和使用
1.2.3继承与派生
1.2.4迭代器与生成器
1.3与数据结构和算法相关的Python模块
1.3.1抽象基类和abc模块
1.3.2ctypes模块
1.3.3array模块
1.3.4NumPy模块
1.3.5collections模块
1.4上机实验
1.4.1找零钱
1.4.2数列面向对象练习
本章习题
第2章数据结构概述
2.1基本概念
2.1.1数据与数据结构
2.1.2数据类型
2.2数据结构课程讨论的内容
2.3算法及性能分析
2.3.1算法
2.3.2算法分析基础
2.3.3同一问题的不同算法
2.4上机实验
2.4.1Python内置类型常见操作的性能验证
2.4.2列表生成方法的性能比较
2.4.3变位词判断算法的性能比较
2.4.4哥德巴赫猜想问题
本章习题
第3章线性表
3.1线性表的基本概念
3.2线性表的抽象数据类型
3.3线性表的顺序存储及实现
3.3.1线性表顺序存储的基本方法
3.3.2Python列表的内部实现
3.3.3基于Python列表的实现
3.3.4基于底层C数组的实现
3.4线性表的链式存储及实现
3.4.1单链表
3.4.2循环链表
3.4.3双向链表
3.5顺序表与链表实现小结
3.5.1顺序表与链表的比较
3.5.2各种链表实现的比较
3.5.3自顶向下的数据结构实现
3.5.4算法设计的基本步骤
3.6线性表的应用
3.6.1求两个线性表的相同元素
3.6.2约瑟夫环问题
3.7线性表算法举例
3.7.1顺序表下的算法
3.7.2带头结点单链表下的算法
3.7.3与线性表具体实现无关的算法
3.8上机实验
3.8.1线性表的顺序表实现
3.8.2线性表的单链表实现
3.8.3线性表的双向非循环链表实现
3.8.4消费支出项目管理
3.8.5每日快递
3.8.6扑克牌整理
本章习题
第4章栈
4.1栈的基本概念
4.2栈的抽象数据类型
4.3栈的顺序存储及实现
4.3.1利用Python列表实现
4.3.2记录容量和栈顶位置的实现
4.4栈的链式存储及实现
4.5栈的典型应用
4.5.1括号匹配检验
4.5.2计算后缀表达式的值
4.5.3计算中缀表达式的值
4.5.4迷宫求解
4.6上机实验
4.6.1栈的实现和应用
4.6.2HTML文档标签匹配
4.6.3表达式求值
4.6.4四色地图着色
4.6.5用回溯法求解n皇后问题
本章习题
第5章队列
5.1队列的基本概念
5.2队列的抽象数据类型
5.3队列的顺序存储及实现
5.3.1物理模型法
5.3.2线性顺序队列
5.3.3循环队列
5.4队列的链式存储及实现
5.5队列的应用
5.5.1杨辉三角形的输出
5.5.2一元多项式的计算
5.5.3基于队列的迷宫求解
5.6双端队列
5.6.1双端队列的基本概念
5.6.2Python的双端队列类
5.6.3双端队列的应用
5.7优先级队列
5.8Python提供的多种队列
5.9上机实验
5.9.1循环队列的实现
5.9.2链队列的实现
5.9.3猜猜我的QQ号
5.9.4字符串的匹配
5.9.5制作糖果
5.9.6纸牌游戏
本章习题
第6章递归
6.1递归及递归算法
6.1.1什么是递归
6.1.2问题求解方法的递归定义
6.2线性表下递归算法的设计
6.2.1数据结构的递归定义
6.2.2顺序表下的递归算法
6.2.3单链表下的递归算法
6.3递归求解举例
6.3.1n皇后问题
6.3.2迷宫求解
6.3.3组合数求解
6.4递归算法性能分析
6.4.1函数调用与栈
6.4.2递归函数的运行过程及性能分析
6.4.3递归函数转换为非递归函数
6.5常见的算法设计模式
6.5.1穷举算法
6.5.2贪心算法
6.5.3递归算法
6.5.4带备忘录的递归算法
6.5.5动态规划法
6.6上机实验
6.6.1阶乘函数的时间性能分析
6.6.2单链表类的递归实现
6.6.3入栈与出栈的模拟
本章习题
第7章字符串和数组
7.1字符串
7.1.1字符串的基本概念
7.1.2字符串的抽象数据类型
7.1.3字符串的存储
7.1.4字符串的匹配
7.2数组
7.2.1数组相关概念
7.2.2表格的存储
7.2.3特殊矩阵的压缩存储
7.2.4数组的应用
7.3上机实验
7.3.1字符串匹配算法的验证
7.3.2幻方的判断和奇数阶幻方的构造
本章习题
第8章二叉树
8.1基础知识
8.1.1二叉树的基本概念
8.1.2相关术语
8.1.3一些特殊的二叉树
8.1.4二叉树的抽象数据类型
8.2二叉树的性质
8.3二叉树的存储结构及实现
8.3.1二叉树的顺序存储
8.3.2二叉树的嵌套列表存储
8.3.3二叉树的链式存储及实现
8.4二叉树的操作
8.4.1二叉树的遍历
8.4.2二叉树遍历的递归算法
8.4.3二叉树的递归算法举例
8.4.4二叉树的非递归遍历
8.4.5二叉树的创建
8.4.6二叉树的图形化输出
8.5堆与优先级队列
8.5.1二叉堆的定义
8.5.2二叉堆的主要操作
8.5.3二叉堆的实现
8.6哈夫曼树及其应用
8.6.1哈夫曼树的相关概念
8.6.2哈夫曼树的构造
8.6.3哈夫曼编码
8.7上机实验
8.7.1二叉树的链式实现
8.7.2表达式二叉树及计算
8.7.3哈夫曼编码的实现
本章习题
第9章树
9.1基础知识
9.1.1树的基本概念
9.1.2树的抽象数据类型
9.1.3树的性质
9.2树的存储结构
9.2.1双亲表示法
9.2.2孩子链表表示法
9.2.3孩子兄弟链表表示法
9.3树与二叉树的转换
9.3.1树转换为二叉树
9.3.2二叉树转换为树
9.3.3森林转换为二叉树
9.3.4二叉树转换为森林
9.4树与森林的遍历
9.4.1树的遍历
9.4.2森林的遍历
9.5树的实现
9.5.1树的孩子兄弟链表结点类
9.5.2树的孩子兄弟链表类
9.6上机实验
9.6.1树的实现
9.6.2家谱处理
本章习题
第10章图
10.1基础知识
10.1.1图的定义
10.1.2图的相关术语
10.1.3图的抽象数据类型
10.2图的存储结构及实现
10.2.1邻接矩阵
10.2.2邻接表
10.3图的遍历
10.3.1深度优先搜索
10.3.2广度优先搜索
10.3.3遍历算法的应用
10.4*小生成树
10.4.1Prim算法
10.4.2Kruskal算法
10.5*短路径
10.5.1单源点*短路径
10.5.2每对顶点间的*短路径
10.6拓扑排序
10.6.1概述
10.6.2广度优先拓扑排序
10.6.3深度优先拓扑排序
10.7关键路径
10.7.1相关概念
10.7.2算法设计
10.7.3算法实现
10.8上机实验
10.8.1无向图的实现
10.8.2无向网的*小生成树
10.8.3有向网的*短路径
10.8.4有向无环图的拓扑排序
10.8.5AOE网的关键路径
10.8.6拯救007
10.8.7骑士周游问题
本章习题
第11章查找
11.1基础知识
11.1.1相关概念
11.1.2查找的分类
11.1.3查找算法的性能衡量
11.1.4查找表的抽象数据类型
11.1.5记录类型的定义
11.2线性表下的查找
11.2.1基于无序线性表的查找
11.2.2基于有序线性表的查找
11.2.3索引顺序表及分块查找
11.2.4查找算法性能的下界
11.3二叉树下的查找
11.3.1二叉查找树
11.3.2平衡二叉树
11.4哈希表查找
11.4.1哈希表的定义
11.4.2哈希函数设计方法
11.4.3解决冲突的方法
11.4.4哈希表的实现
11.4.5哈希查找性能分析
11.5Python的集合和字典
11.6查找小结
11.7上机实验
11.7.1线性表下查找算法的实现
11.7.2线性表下查找算法的性能测试与比较
11.7.3二叉查找树的实现及查找性能测试与比较
11.7.4哈希表的实现及查找性能测试与比较
本章习题
第12章排序
12.1基础知识
12.1.1相关概念
12.1.2排序表的类型定义
12.1.3排序的分类
12.1.4排序算法的性能衡量
12.2插入排序
12.2.1直接插入排序
12.2.2折半插入排序
12.2.3希尔排序
12.3交换排序
12.3.1冒泡排序
12.3.2快速排序
12.4选择排序
12.4.1简单选择排序
12.4.2堆排序
12.5归并排序
12.5.1自底向上的归并排序
12.5.2自顶向下的归并排序
12.6基数排序
12.6.1多关键字排序
12.6.2链式基数排序
12.7各种排序算法的比较
12.8高级语言中使用的排序
12.8.1C++标准模板库中的排序
12.8.2TimSort排序
12.9上机实验
12.9.1排序算法的实现
12.9.2排序算法的性能测试与比较
12.9.3教学系统数据查询和统计
本章习题
参考文献
作者简介
张玉华 苏州大学计算机科学与技术学院副教授,主要研究方向包括中文信息处理、算法设计与分析等。为本科生教授数据结构课程逾二十年。在数据结构教学方面积累了丰富的经验,发表了多篇相关教学论文。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0