数据结构教程

数据结构教程
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , ,
2019-10
ISBN: 9787563558797
定价: 45.00
装帧: 平装
开本: 16开
纸张: 胶版纸
1人买过
  •   《数据结构教程》以C语言为基础介绍了各种数据结构的存储与表现形式,给出了每种结构的抽象数据类型描述以及对应不同结构的功能代码。 
      《数据结构教程》第1章综述了数据结构的基本概念;第2~7章从抽象数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及应用;第8~9章讨论查找和排序,除了介绍各种实现方法外,还从时间复杂度方面对算法的性能进行了分析和比较。 
      《数据结构教程》适合有一定C语言基础的初学者学习,可以使读者循序渐进地建立数据结构以及算法的思想,为编写高质量的程序提供有效帮助。   王志海,教授,现担任北京交通大学滨海学院计算机系主任,主管教学工作。工作期间为本科生讲述了离散数学、数据结构、算法设计与分析、信息隐藏技术等课程。主持和参编了《数据结构(C语言版)》(第二版)、《数据结构习题分析与解答》、《编译技术实践教程》等教材和专著。 第1章 绪论
    1.1 数据结构的必要性
    1.1.1 数值计算
    1.1.2 非数值计算
    1.1.3 数据结构的作用和地位
    1.2 基本概念和术语
    1.3 算法和算法分析
    1.3.1 算法
    1.3.2 算法设计的要求
    1.3.3 算法效率的度量
    1.3.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.2.3 栈的链式存储结构
    3.2.4 顺序栈和链式栈的比较
    3.3 栈的应用举例
    3.3.1 数制转换
    3.3.2 括号匹配的检验
    3.3.3 行编辑
    3.3.4 子程序的调用和返回
    3.3.5 栈与递归的实现
    3.3.6 汉诺塔
    3.4 队列及基本运算
    3.5 队列的实现
    3.5.1 队列的链式表示和实现——链队列
    3.5.2 队列的顺序表示和实现——循环队列
    3.6 队列的应用举例


    第4章 串
    4.1 串类型的定义
    4.1.1 串的概念
    4.1.2 串的输入和输出
    4.1.3 串的基本操作
    4.2 串的存储表示和操作算法
    4.2.1 串的顺序存储结构
    4.2.2 串的堆存储结构——堆串
    4.2.3 串的块链存储结构——块链串
    4.3 串的模式匹配算法
    4.3.1 朴素字符串匹配算法
    4.3.2 KMP算法

    第5章 数组和广义表
    5.1 数组的定义
    5.1.1 数组的基本概念
    5.1.2 数组的抽象数据类型定义
    5.2 数组的顺序表示和实现
    5.2.1 数组的顺序存储方式
    5.2.2 多维数组的寻址方式
    5.2.3 数组的基本操作
    5.3 矩阵的压缩存储
    5.3.1 特殊矩阵
    5.3.2 稀疏矩阵
    5.4 广义表的定义
    5.4.1 广义表的图形表示
    5.4.2 广义表的主要特性
    5.4.3 广义表的主要操作
    5.4.4 广义表的抽象数据类型
    5.5 广义表的存储结构
    5.6 m元多项式的表示
    5.7 广义表的递归算法
    5.7.1 求广义表的深度
    5.7.2 复制广义表
    5.7.3 建立广义表的存储结构

    第6章 树和二叉树
    6.1 树的定义和基本术语
    6.2 二叉树
    6.2.1 二叉树的定义
    6.2.2 二叉树的性质
    6.2.3 二叉树的存储结构
    6.3 遍历二叉树和线索二叉树
    6.3.1 遍历二叉树的几种方法
    6.3.2 二叉树的创建及遍历
    6.3.3 线索二叉树
    6.4 树和森林
    6.4.1 树的存储结构
    6.4.2 森林与二叉树的转换
    6.4.3 树和森林的遍历
    6.5 哈夫曼树及其应用

    第7章 图
    7.1 图的定义和术语
    7.1.1 图的抽象数据类型定义
    7.1.2 图的定义
    7.1.3 图的基本术语
    7.2 图的存储结构
    7.2.1 邻接矩阵
    7.2.2 邻接表
    7.2.3 十字邻接表
    7.2.4 邻接多重表
    7.3 图的遍历
    7.3.1 深度优先遍历
    7.3.2 广度优先遍历
    7.4 图的连通性问题
    7.4.1 无向图的连通分量和生成树
    7.4.2 最小生成树
    7.5 最短路径
    7.5.1 最短路径的概念
    7.5.2 从一顶点到其余各顶点的最短路径
    7.5.3 每对顶点间的最短路径

    第8章 查找
    8.1 静态查找表
    8.1.1 静态查找表的抽象数据类型
    8.1.2 顺序表的查找
    8.1.3 折半查找
    8.1.4 分块查找
    8.2 动态查找表
    8.2.1 动态查找的抽象数据类型
    8.2.2 二叉排序树及其查找过程
    8.2.3 二叉排序树删除结点
    8.2.4 平衡二叉树
    8.2.5 B-树
    8.3 哈希表
    8.3.1 哈希表的定义
    8.3.2 哈希函数的构造方法
    8.3.3 处理冲突的方法

    第9章 内部排序
    9.1 排序的基本概念
    9.2 插入排序
    9.2.1 直接插入排序
    9.2.2 希尔排序
    9.3 交换排序
    9.4 选择排序
    9.5 归并排序和基数排序
    9.5.1 归并排序
    9.5.2 基数排序
    参考文献
  • 内容简介:
      《数据结构教程》以C语言为基础介绍了各种数据结构的存储与表现形式,给出了每种结构的抽象数据类型描述以及对应不同结构的功能代码。 
      《数据结构教程》第1章综述了数据结构的基本概念;第2~7章从抽象数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及应用;第8~9章讨论查找和排序,除了介绍各种实现方法外,还从时间复杂度方面对算法的性能进行了分析和比较。 
      《数据结构教程》适合有一定C语言基础的初学者学习,可以使读者循序渐进地建立数据结构以及算法的思想,为编写高质量的程序提供有效帮助。
  • 作者简介:
      王志海,教授,现担任北京交通大学滨海学院计算机系主任,主管教学工作。工作期间为本科生讲述了离散数学、数据结构、算法设计与分析、信息隐藏技术等课程。主持和参编了《数据结构(C语言版)》(第二版)、《数据结构习题分析与解答》、《编译技术实践教程》等教材和专著。
  • 目录:
    第1章 绪论
    1.1 数据结构的必要性
    1.1.1 数值计算
    1.1.2 非数值计算
    1.1.3 数据结构的作用和地位
    1.2 基本概念和术语
    1.3 算法和算法分析
    1.3.1 算法
    1.3.2 算法设计的要求
    1.3.3 算法效率的度量
    1.3.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.2.3 栈的链式存储结构
    3.2.4 顺序栈和链式栈的比较
    3.3 栈的应用举例
    3.3.1 数制转换
    3.3.2 括号匹配的检验
    3.3.3 行编辑
    3.3.4 子程序的调用和返回
    3.3.5 栈与递归的实现
    3.3.6 汉诺塔
    3.4 队列及基本运算
    3.5 队列的实现
    3.5.1 队列的链式表示和实现——链队列
    3.5.2 队列的顺序表示和实现——循环队列
    3.6 队列的应用举例


    第4章 串
    4.1 串类型的定义
    4.1.1 串的概念
    4.1.2 串的输入和输出
    4.1.3 串的基本操作
    4.2 串的存储表示和操作算法
    4.2.1 串的顺序存储结构
    4.2.2 串的堆存储结构——堆串
    4.2.3 串的块链存储结构——块链串
    4.3 串的模式匹配算法
    4.3.1 朴素字符串匹配算法
    4.3.2 KMP算法

    第5章 数组和广义表
    5.1 数组的定义
    5.1.1 数组的基本概念
    5.1.2 数组的抽象数据类型定义
    5.2 数组的顺序表示和实现
    5.2.1 数组的顺序存储方式
    5.2.2 多维数组的寻址方式
    5.2.3 数组的基本操作
    5.3 矩阵的压缩存储
    5.3.1 特殊矩阵
    5.3.2 稀疏矩阵
    5.4 广义表的定义
    5.4.1 广义表的图形表示
    5.4.2 广义表的主要特性
    5.4.3 广义表的主要操作
    5.4.4 广义表的抽象数据类型
    5.5 广义表的存储结构
    5.6 m元多项式的表示
    5.7 广义表的递归算法
    5.7.1 求广义表的深度
    5.7.2 复制广义表
    5.7.3 建立广义表的存储结构

    第6章 树和二叉树
    6.1 树的定义和基本术语
    6.2 二叉树
    6.2.1 二叉树的定义
    6.2.2 二叉树的性质
    6.2.3 二叉树的存储结构
    6.3 遍历二叉树和线索二叉树
    6.3.1 遍历二叉树的几种方法
    6.3.2 二叉树的创建及遍历
    6.3.3 线索二叉树
    6.4 树和森林
    6.4.1 树的存储结构
    6.4.2 森林与二叉树的转换
    6.4.3 树和森林的遍历
    6.5 哈夫曼树及其应用

    第7章 图
    7.1 图的定义和术语
    7.1.1 图的抽象数据类型定义
    7.1.2 图的定义
    7.1.3 图的基本术语
    7.2 图的存储结构
    7.2.1 邻接矩阵
    7.2.2 邻接表
    7.2.3 十字邻接表
    7.2.4 邻接多重表
    7.3 图的遍历
    7.3.1 深度优先遍历
    7.3.2 广度优先遍历
    7.4 图的连通性问题
    7.4.1 无向图的连通分量和生成树
    7.4.2 最小生成树
    7.5 最短路径
    7.5.1 最短路径的概念
    7.5.2 从一顶点到其余各顶点的最短路径
    7.5.3 每对顶点间的最短路径

    第8章 查找
    8.1 静态查找表
    8.1.1 静态查找表的抽象数据类型
    8.1.2 顺序表的查找
    8.1.3 折半查找
    8.1.4 分块查找
    8.2 动态查找表
    8.2.1 动态查找的抽象数据类型
    8.2.2 二叉排序树及其查找过程
    8.2.3 二叉排序树删除结点
    8.2.4 平衡二叉树
    8.2.5 B-树
    8.3 哈希表
    8.3.1 哈希表的定义
    8.3.2 哈希函数的构造方法
    8.3.3 处理冲突的方法

    第9章 内部排序
    9.1 排序的基本概念
    9.2 插入排序
    9.2.1 直接插入排序
    9.2.2 希尔排序
    9.3 交换排序
    9.4 选择排序
    9.5 归并排序和基数排序
    9.5.1 归并排序
    9.5.2 基数排序
    参考文献
查看详情
您可能感兴趣 / 更多
数据结构教程
机械制造工程实训及创新教育教程
王志海;舒敬萍;马晋
数据结构教程
数据虚拟化:商务智能系统的数据架构与管理
王志海 译
数据结构教程
机械制造工程实训及创新教育
王志海、舒敬萍、马晋 编
数据结构教程
机械制造工程实训(普通高等院校工程训练系列规划教材)
王志海 主编
数据结构教程
金属工艺学
王志海 主编;罗继相
数据结构教程
中国传统建筑廊装饰艺术
王志海 著
数据结构教程
苗刀
王志海
数据结构教程
OpenSSL与网络信息安全
王志海 著
数据结构教程
工程实践与训练教程:机械部分
王志海、罗继相、吴飞 主编
数据结构教程
蛋糕大厨
王志海 著