顶部
收藏

数据结构与算法


作者:
陈卫卫 王庆瑞
定价:
38.40元
ISBN:
978-7-04-031047-4
版面字数:
590.000千字
开本:
16开
全书页数:
410页
装帧形式:
平装
重点项目:
暂无
出版时间:
2010-11-23
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机类专业核心课程
三级分类:
数据结构

本书依据《高等学校计算机科学与技术专业核心课程教学实施方案》,面向计算机专业应用型人才培养的要求编写,内容包括顺序表、链表、栈、队、矩阵、字符串、广义表、树、二叉树、检索树、哈夫曼树、判定树、散列表、最优检索树、AVL树、红黑树、B树、B+树、2-3树、Trie树、union-find树、图等结构,各结构的特点和存储方法,实现查找、插入、删除、遍历、搜索的算法设计方法和时空效率;图的最小生成树和最短路径求解算法、内排序算法、文件结构和外排序算法;问题的固有难度、算法设计的一般方法、数据结构的类封装方法等;并配有400多道习题及部分习题的参考答案。

本书语言通俗流畅,叙述简洁,可读性强,并配有完整的PPT课件(可免费下载),可作为普通高校、职业学校、远程教育的教材和教学参考书,或程序设计爱好者的理论指导书。

  • 第1章 概述
    • 1.1 基本概念
      • 1.1.1 数据结构的概念
      • 1.1.2 抽象数据类型
      • 1.1.3 算法的概念
    • 1.2 算法的描述和评价
      • 1.2.1 算法的描述
      • 1.2.2 算法的评价标准和评价方法
      • 1.2.3 计算时间复杂性的一般方法
    • 习题
  • 第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 链表的构造
      • 2.3.4 链表的遍历
      • 2.3.5 链表的插入和删除
    • 2.4 栈和队
      • 2.4.1 基本概念
      • 2.4.2 进栈和退栈算法
      • 2.4.3 进队和出队算法
      • 2.4.4 应用举例
    • 2.5 静态链表
      • 2.5.1 静态链表的一般原理和操作方法
      • 2.5.2 静态链表的应用
      • 2.5.3* 单链域的双向链表
    • 2.6 矩阵
      • 2.6.1 基本概念和存储方法
      • 2.6.2 稀疏矩阵运算示例
    • 2.7 字符串
      • 2.7.1 基本概念和存储方法
      • 2.7.2 简单模式匹配算法
      • 2.7.3* KMP算法
      • 2.7.4* BM算法和KR算法
    • 2.8 广义表
    • 2.9* 目录存储和索引目录存储
    • 习题
  • 第3章 树结构
    • 3.1 基本概念和存储方法
      • 3.1.1 普通树的基本概念
      • 3.1.2 二叉树的基本概念
      • 3.1.3 普通树与二叉树的相互转换
      • 3.1.4 树的存储方法
    • 3.2 二叉树的遍历和构造
      • 3.2.1 二叉树的遍历
      • 3.2.2* 遍历序列的前驱和后继
      • 3.2.3 遍历的应用示例
      • 3.2.4 二叉树的构造
      • 3.2.5* 非递归的遍历算法
    • 3.3 检索树
      • 3.3.1 检索树的查找
      • 3.3.2 检索树的插入和构造
      • 3.3.3 检索树的删除
    • 3.4 哈夫曼树
      • 3.4.1 哈夫曼算法
      • 3.4.2 哈夫曼树的构造和应用
    • 3.5* 判定树
    • 习题
  • 第4章图结构
    • 4.1 基本概念
      • 4.1.1 图的定义和种类
      • 4.1.2 有关术语
    • 4.2 图的存储方法
      • 4.2.1 号名对照表
      • 4.2.2 邻接矩阵的顺序存
      • 4.2.3 邻接表
      • 4.2.4* 邻接表的变种
    • 4.3 图的遍历
      • 4.3.1 先深搜索
      • 4.3.2 先深搜索的应用
      • 4.3.3 先广搜索
    • 4.4* 无向图的双连通性
      • 4.4.1 关节点
      • 4.4.2 找关节点的算法
    • 4.5 最小生成树
      • 4.5.1 Kruskal算法
      • 4.5.2 Prim算法
    • 4.6 最短路径
      • 4.6.1 Dijkstra算法
      • 4.6.2* Floyd算法
    • 4.7 有向无回路图
      • 4.7.1 基本概念
      • 4.7.2 拓扑排序
      • 4.7.3* 关键路径
    • 习题
  • 第5章 集合运算的数据结构
    • 5.1 集合的基本运算
    • 5.2 散列表
      • 5.2.1 散列函数
      • 5.2.2 散列表的处理算法
      • 5.2.3* 散列表的性能分析
    • 5.3* 最优检索树
    • 5.4 平衡树
      • 5.4.1 AVL树
      • 5.4.2 红黑树
      • 5.4.3* B树
      • 5.4.4* B+树
      • 5.4.5* Trie树
    • 5.5* union-find运算
      • 5.5.1 树结构的union-find算法
      • 5.5.2 表结构的union-find算法
    • 习题
  • 第6章 排序
    • 6.1 基本概念
    • 6.2 插入排序
      • 6.2.1 直接插入排序
      • 6.2.2 二分插入排序
      • 6.2.3 希尔排序
    • 6.3 交换排序
      • 6.3.1 冒泡排序
      • 6.3.2 快速排序
    • 6.4 选择排序
      • 6.4.1 一般原理和效率分析
      • 6.4.2 树选排序
      • 6.4.3 堆排序
    • 6.5 合并排序
      • 6.5.1 递归的合并排序
      • 6.5.2* 非递归的合并排序
    • 6.6 基数排序
      • 6.6.1 基本原理和示例
      • 6.6.2 算法的实现和分析
    • 6.7 外部排序
      • 6.7.1 文件的组织结构
      • 6.7.2 顺串的合并
      • 6.7.3* 初始顺串的生成
      • 6.7.4* 最佳合并树
      • 6.7.5* 磁带排序
    • 习题
  • 第7章* 问题的固有难度和算法设计的一般方法
    • 7.1 问题的固有难度
      • 7.1.1 算法的重要地位
      • 7.1.2 问题的固有难度
    • 7.2 不确定性算法和NP-完全问题
      • 7.2.1 不确定性算法
      • 7.2.2 三大重要的问题类
    • 7.3 算法设计的一般方法
      • 7.3.1 递归、分治和平衡
      • 7.3.2 贪心法
      • 7.3.3 动态规划法
      • 7.3.4 搜索-回溯法
    • 习题
  • 第8章* 数据结构的类实现
    • 8.1 表结构的类
      • 8.1.1 栈类和队类
      • 8.1.2 顺序表类
      • 8.1.3 链表类
      • 8.1.4 用模板实现链表类
    • 8.2 树结构的类
      • 8.2.1 二叉树类
      • 8.2.2 检索树类
    • 8.3 图结构的类
    • 习题
  • 附录
    • 附录A 名词中英文对照索引
    • 附录B 部分习题参考答案
  • 参考文献

相关图书