×
大数据与人工智能技术丛书数据结构(Python语言描述)-微课视频版

包邮大数据与人工智能技术丛书数据结构(Python语言描述)-微课视频版

¥59.6 (8.5折) ?
1星价 ¥59.6
2星价¥59.6 定价¥69.8
暂无评论
图文详情
  • 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教学系统数据查询和统计


本章习题


参考文献


展开全部

作者简介

张玉华 苏州大学计算机科学与技术学院副教授,主要研究方向包括中文信息处理、算法设计与分析等。为本科生教授数据结构课程逾二十年。在数据结构教学方面积累了丰富的经验,发表了多篇相关教学论文。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航