数据结构[Python 语言描述](双色)(含微课)

收藏
简介 目录 样张 更多
  • ISBN:978-7-313-28488-4
  • 作者:刘三满、赵思佳、魏怀明
  • 出版社:上海交大
  • 适用层次:通用
  • 出版/修订日期:2023-04-01

本书系统地介绍了各种常用的数据结构及查找和排序算法,并从逻辑结构、存储结构和基本操作及其实现多个方面对这些数据结构进行了详细阐述。全书共9章,内容涵盖:绪论、线性表、栈和队列、串、数组和广义表、树和二叉树、图、查找、排序。

本书采用Python语言描述和实现各种数据结构和算法,并通过大量图示来讲解算法的实现过程。全书语言简练、内容丰富、图文并茂、通俗易懂,可作为各类院校计算机相关专业《数据结构》课程的专用教材。

1  绪论

1.1  基本概念和术语

1.2  逻辑结构和存储结构

1.2.1  逻辑结构

1.2.2  存储结构

1.3  抽象数据类型

1.4  算法和算法分析

1.4.1  算法的定义和特性

1.4.2  算法的描述方法

1.4.3  算法的设计要求

1.4.4  算法分析

同步训练  将百分制成绩转换为五级制成绩


2  线性表

2.1  线性表概述

2.1.1  线性表的定义和特点

2.1.2  线性表的基本操作

2.2  线性表的顺序存储——顺序表

2.2.1  顺序表的存储结构

2.2.2  顺序表中基本操作的实现

同步训练  利用顺序表存储学生成绩

2.3  线性表的链式存储——链表

2.3.1  单链表

2.3.2  双链表

2.3.3  循环链表

同步训练  利用单链表实现多项式相加

同步训练  利用循环链表解决约瑟夫问题


3  栈和队列

3.1  栈概述

3.1.1  栈的定义

3.1.2  栈的基本操作

3.2  栈的顺序存储——顺序栈

3.2.1  顺序栈的存储结构

3.2.2  顺序栈中基本操作的实现

同步训练  利用顺序栈解决汉诺塔问题

3.3  栈的链式存储——链栈

3.3.1  链栈的存储结构

3.3.2  链栈中基本操作的实现

同步训练  利用链栈实现括号匹配的检验

3.4  栈与递归

3.4.1  递归的定义和调用

3.4.2  递归过程与递归栈

同步训练  利用递归实现斐波那契数列

3.5  队列概述

3.5.1  队列的定义

3.5.2  队列的基本操作

3.6  队列的顺序存储——顺序队列

3.6.1  顺序队列与循环队列

3.6.2  循环队列中基本操作的实现

同步训练  利用循环队列打印杨辉三角

3.7  队列的链式存储——链队

3.7.1  链队的存储结构

3.7.2  链队中基本操作的实现


4 

4.1  串概述

4.1.1  串的定义

4.1.2  串的基本操作

4.2  串的存储结构

4.2.1  串的顺序存储——顺序串

4.2.2  串的链式存储——链串

4.3  串的模式匹配算法

4.3.1  BF算法

4.3.2  KMP算法

同步训练  编辑文本文件


5  数组和广义表

5.1  数组概述

5.1.1  数组的定义

5.1.2  数组的基本操作

5.1.3  数组的顺序存储结构

5.2  矩阵的压缩存储

5.2.1  特殊矩阵的压缩存储

5.2.2  稀疏矩阵的压缩存储

同步训练  稀疏矩阵的转置

5.3  广义表概述

5.3.1  广义表的定义和基本术语

5.3.2  广义表的基本操作

5.3.3  广义表的链式存储结构


6  树和二叉树

6.1  树概述

6.1.1  树的定义

6.1.2  树的基本术语

6.1.3  树的基本操作

6.2  二叉树概述

6.2.1  二叉树的定义

6.2.2  二叉树的性质

6.2.3  二叉树的基本操作

6.2.4  二叉树的存储结构

6.3  遍历二叉树和线索二叉树

6.3.1  遍历二叉树

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  树和森林的遍历

同步训练  利用树解决8枚硬币的真假判定问题


7 

7.1  图概述

7.1.1  图的定义

7.1.2  图的基本术语

7.1.3  图的基本操作

7.2  图的存储结构

7.2.1  邻接矩阵

7.2.2  邻接表

7.3  图的遍历

7.3.1  深度优先遍历

7.3.2  广度优先遍历

7.4  最小生成树

7.4.1  Prim算法

7.4.2  Kruskal算法

7.5  最短路径

7.5.1  Dijkstra算法

7.5.2  Floyd算法

同步训练  求城市之间交通费用最少的路线

7.6  拓扑排序

7.7  关键路径

7.7.1  AOE网

7.7.2  求解关键路径


8  查找

8.1  查找概述

8.2  静态查找算法

8.2.1  顺序查找

8.2.2  折半查找

8.2.3  分块查找

同步训练  利用折半查找算法查找学生成绩

8.3  动态查找算法

8.3.1  二叉排序树

8.3.2  平衡二叉树

8.3.3  B树

同步训练  利用二叉排序树查找学生成绩

8.4  哈希表的查找

8.4.1  哈希表的基本概念

8.4.2  哈希函数的构造方法

8.4.3  处理冲突的方法

8.4.4  哈希查找及性能分析

同步训练  利用哈希表查找员工信息


9  排序

9.1  排序概述

9.2  插入排序

9.2.1  直接插入排序

9.2.2  希尔排序

同步训练  利用直接插入排序算法对学生成绩表进行排序

9.3  交换排序

9.3.1  冒泡排序

9.3.2  快速排序

同步训练  利用冒泡排序算法对学生成绩表进行排序

9.4  选择排序

9.4.1  直接选择排序

9.4.2  堆排序

同步训练  利用直接选择排序算法对学生成绩表进行排序

9.5  归并排序


参考文献

微课 教材练习 资料下载 ....
立即下载
价格:¥69.80
加入购物车立即购买