顶部
收藏

数据结构(C++语言描述)

“十五”国家规划教材

作者:
朱战立
定价:
24.00元
ISBN:
978-7-04-014149-8
版面字数:
460千字
开本:
16开
全书页数:
292页
装帧形式:
平装
重点项目:
“十五”国家规划教材
出版时间:
2004-02-13
物料号:
14149-00
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机类专业核心课程
三级分类:
数据结构

  本书为普通高等教育“十五”国家级规划教材。全书系统地介绍了各种类型的数据结构和查找、排序的各种方法。对于每一种类型的数据结构,都详细阐述了基本概念、各种不同的存储结构和不同存储结构上一些主要操作的实现算法,并给出了许多设计实例,以帮助读者理解。另外,书中还介绍了递归算法的设计方法。全书采用C++语言作为算法描述语言。为方便学习,附录中还给出了部分典型习题解答。
  本书既可作为高等学校应用型本科计算机相关专业、成人及高职高专计算机相关专业的教材,也可作为从事计算机应用的工程技术人员的自学参考书。
  本书配套的电子教案和书中程序代码可从高等教育出版社网站下载,网址为http://www.hep.cdu.cn或hnp://cs.hep.com.cn。
  • 第0章 C++程序设计基础
    • 0.1 程序的结构
    • 0.2 函数
      • 0.2.1 函数参数
      • 0.2.2 函数的返回值
      • 0.2.3 重截
    • 0.3 类
      • 0.3.1 访问权限
      • 0.3.2 构造函数和析构函数
      • 0.3.3 运算符重载
      • 0.3.4 友元
      • 0.3.5 分辨符
      • 0.3.6 内联函数
      • 0.3.7 默认值
      • 0.3.8 派生类和继承性
      • 0.3.9 多态性和虚函数
      • 0.3.10 纯虚函数和抽象类
      • 0.3.11 结构体
      • 0.3.12 对象
    • 0.4 通用化的软件设计
      • 0.4.1 抽象数据类型
      • 0.4.2 模板
    • 0.5 动态申请和动态释放内存
    • 习题
  • 第1章 绪论
    • 1.1 数据结构的基本概念
    • 1.2 抽象数据类型和软件构造方法
    • 1.3 算法及其时间复杂度
      • 1.3.1 算法
      • 1.3.2 算法设计目标
      • 1.3.3 算法时间效率的度量
    • 1.4 算法书写规范
    • 习题
  • 第2章 线性表
    • 2.1 线性表抽象教据类型
      • 2.1.1 线性表的定义
      • 2.1.2 线性表抽象数据类型
    • 2.2 顺序表类
      • 2.2.1 顺序表的存储结构
      • 2.2.2 顺序表类定义
      • 2.2.3 顺序表类实现
      • 2.2.4 顺序表类方法的效率分析
      • 2.2.5 顺序表类应用举例
    • 2.3 单链表类
      • 2.3.1 单链表的结构
      • 2.3.2 单链表的动态内存分配方法
      • 2.3.3 结点类的定义和实现
      • 2.3.4 单链表类的定义和实现
      • 2.3.5 单链表操作的效率分析
      • 2.3.6 单链表应用举例
    • 2.4 循环单链表
    • 2.5 双向链表
    • 2.6 静态链表
    • 2.7 设计举例
      • 2.7.1 顺序表设计举例
      • 2.7.2 单链表设计举例
    • 习题
  • 第3章 堆栈和队列
    • 3.1 堆栈
      • 3.1.1 堆栈的基本概念
      • 3.1.2 堆栈抽象数据类型
      • 3.1.3 顺序堆栈类
      • 3.1.4 链式堆栈类
    • 3.2 堆栈应用
      • 3.2.1 括号匹配问题
      • 3.2.2 表达式计算问题
    • 3.3 队列
      • 3.3.1 队列的基本概念
      • 3.3.2 队列抽象数据类型
      • 3.3.3 顺序队列
      • 3.3.4 顺序循环队列类
      • 3.3.5 链式队列类
      • 3.3.6 队列的应用
    • 3.4 优先级队列
      • 3.4.1 顺序优先级队列类
      • 3.4.2 优先级队列的应用
    • 习题
  • 第4章 串
    • 4.1 串的基本概念、抽象数据类型和C++语言的串函数
      • 4.1.1 串的基本概念
      • 4.1.2 串的抽象数据类型
      • 4.1.3 C++语言的串函数
    • 4.2 串的存储结构
      • 4.2.1 串的顺序存储结构
      • 4.2.2 串的链式存储结构
    • 4.3 顺序串类
      • 4.3.1 顺序串类的定义
      • 4.3.2 构造函数和析构函数
      • 4.3.3 插入、删除和取子串成员函数
      • 4.3.4 常用操作符重载
      • 4.3.5 逻辑操作符重载
      • 4.3.6 顺序串类的测试
    • 4.4 串的模式匹配算法
      • 4.4.1 Brute-Force算法
      • 4.4.2 KMP算法
      • 4.4.3 Brute-Force算法和KMP算法的运行效率比较
    • 习题
  • 第5章 数组
    • 5.1 数组的基本概念
      • 5.1.1 数组的定义
      • 5.1.2 数组的实现机制
      • 5.1.3 数组抽象数据类型
    • 5.2 动态数组类
    • 5.3 特殊矩阵
      • 5.3.1 特殊矩阵的压缩存储
      • 5.3.2 n阶对称矩阵顺序表类
    • 5.4 稀疏矩阵
      • 5.4.1 稀疏矩阵的压缩存储
      • 5.4.2 三元组顺序表类
      • 5.4.3 三元组链表
    • 习题
  • 第6章 递归算法
    • 6.1 递归的概念
    • 6.2 递归算法的执行过程
    • 6.3 递归算法的设计方法
    • 6.4 递归过程和运行时栈
    • 6.5 递归算法的效率分析
    • 6.6 递归算法到非递归算法的转换
    • 6.7 设计举例
      • 6.7.1 一般递归函数设计举例
      • 6.7.2 回溯法及其设计举例
  • 习题
  • 第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 二叉树的遍历
      • 7.3.3 二叉树遍历的应用
      • 7.3.4 应用举例
      • 7.3.5 非递归的二叉树遍历算法
    • 7.4 二叉树类
    • 7.5 二叉树的分步遍历
      • 7.5.1 二叉树遍历游标类
      • 7.5.2 二叉树中序遍历游标类
      • 7.5.3 二叉树层序遍历游标类
    • 7.6 线索二叉树
    • 7.7 哈夫曼树
      • 7.7.1 哈夫曼树的基本概念
      • 7.7.2 哈夫曼编码问题
      • 7.7.3 哈夫曼编码的软件设计
    • 7.8 树与二叉树的转换
    • 7.9 树的遍历
    • 习题
  • 第8章 图
    • 8.1 图的基本概念和抽象教据类型
      • 8.1.1 图的基本概念
      • 8.1.2 图的抽象数据类型
    • 8.2 图的存储结构
      • 8.2.1 图的邻接矩阵存储结构
      • 8.2.2 图的邻接表存储结构
    • 8.3 邻接矩阵图类
    • 8.4 图的遍历
      • 8.4.1 图的深度和广度优先遍历算法
      • 8.4.2 图的深度和广度优先遍历函数实现
    • 8.5 最小生成树
      • 8.5.1 最小生成树的基本概念
      • 8.5.2 普里姆算法
      • 8.5.3 克鲁斯卡尔算法
    • 8.6 最短路径
      • 8.6.1 最短路径的基本概念
      • 8.6.2 从一个顶点到其余各顶点的最短路径
      • 8.6.3 每对顶点之间的最短路径
    • 习题
  • 第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 归并排序
    • 9.6 基数排序
    • 9.7 性能比较
    • 习题
  • 第10章 查找
    • 10.1 查找的基本概念
    • 10.2 静态查找表
      • 10.2.1 顺序表
      • 10.2.2 有序顺序表
      • 10.2.3 索引顺序表
    • 10.3 动态查找表
      • 10.3.1 二叉排序树
      • 10.3.2 B-树
    • 10.4 哈希表
      • 10.4.1 哈希表的基本概念
      • 10.4.2 哈希函数构造方法
      • 10.4.3 哈希冲突解决方法
      • 10.4.4 哈希表类
    • 习题
  • 附录 部分典型习题解答
  • 参考文献

相关图书