顶部
收藏

数据结构与算法


作者:
王晓东
定价:
25.90元
ISBN:
978-7-04-013204-5
版面字数:
420.000千字
开本:
16开
全书页数:
263页
装帧形式:
平装
重点项目:
暂无
出版时间:
2003-11-28
读者对象:
高等职业教育
一级分类:
计算机大类
二级分类:
计算机类
三级分类:
计算机类专业基础课程

  本书是职业技术教育软件人才培养模式改革项目成果教材之一,主要内容包括数据结构和算法的基本概念如表、栈、队列、递归、排序与选择、树、集合、符号表、字典、优先队列、并查集和图等。
  为了适应培养我国21世纪计算机各类人才的需要,结合我国高等学校教育工作的现状,立足培养学生能跟上国际计算机科学技术的发展水平,更新教学内容和教学方法,本书以基本数据结构和算法设计策略为知识单元系统地介绍数据结构知识与应用、计算机算法的设计与分析方法,为计算机学科的学生提供一个广泛坚实的数据结构与算法设计基础知识。
  本书适用于高等职业学校、高等专科学校、成人高校、独立设置的软件职业技术学院、本科院校及举办的二级职业技术学院、教育学院以及民办高校使用,不仅可用作高等院校计算机科学与工程专业学生学习数据结构与算法的教材,而且也适合广大工程技术人员和自学读者学习参考。
  • 第1章 引论
    • 1.1 算法及其复杂性的概念
      • 1.1.1 算法与程序
      • 1.1.2 算法复杂性的概念
      • 1.1.3 算法复杂性的渐近性态
    • 1.2 算法的表达与数据表示
      • 1.2.1 问题求解
      • 1.2.2 表达算法的抽象机制
    • 1.3 抽象数据类型
      • 1.3.1 抽象数据类型的基本概念
      • 1.3.2 使用抽象数据类型的好处
    • 1.4 数据结构、数据类型和抽象数据类型
    • 1.5 用C语言描述数据结构与算法
      • 1.5.1 变量和指针
      • 1.5.2 函数与参数传递
      • 1.5.3 结构
      • 1.5.4 动态存储分配
    • 本章小结
    • 习题
  • 第2章 表
    • 2.1 ADT表
    • 2.2 用数组实现表
    • 2.3 用指针实现表
    • 2.4 用间接寻址方法实现表
    • 2.5 用游标实现表
    • 2.6 循环链表
    • 2.7 双链表
    • 2.8 表的搜索游标
      • 2.8.1 用数组实现表的搜索游标
      • 2.8.2 单循环链表的搜索游标
    • 2.9 应用
    • 本章小结
    • 习题
  • 第3章 栈
    • 3.1 ADT栈
    • 3.2 用数组实现栈
    • 3.3 用指针实现栈
    • 3.4 应用
    • 本章小结
    • 习题
  • 第4章 队列
    • 4.1 ADT队列
    • 4.2 用指针实现队列
    • 4.3 用循环数组实现队列
    • 4.4 应用
    • 本章小结
    • 习题
  • 第5章 递归
    • 5.1 递归的概念
    • 5.2 递归程序设计
      • 5.2.1 分治与递归
      • 5.2.2 动态规划
      • 5.2.3 回溯与递归
    • 5.3 模拟递归
    • 5.4 应用
    • 本章小结
    • 习题
  • 第6章 排序与选择
    • 6.1 简单排序算法
      • 6.1.1 冒泡排序
      • 6.1.2 插入排序
      • 6.1.3 选择排序
      • 6.1.4 简单排序算法的计算复杂性
    • 6.2 快速排序算法
      • 6.2.1 算法基本思想及实现
      • 6.2.2 算法的性能
      • 6.2.3 随机快速排序算法
      • 6.2.4 非递归快速排序算法
      • 6.2.5 三数取中划分算法
      • 6.2.6 三划分快速排序算法
    • 6.3 合并排序算法
      • 6.3.1 算法基本思想及实现
      • 6.3.2 对基本算法的改进
      • 6.3.3 自底向上的合并排序算法
      • 6.3.4 自然合并排序
      • 6.3.5 链表结构的合并排序算法
    • 6.4 线性时间排序算法
      • 6.4.1 计数排序
      • 6.4.2 桶排序
    • 6.5 中位数与第k小元素
      • 6.5.1 平均情况下的线性时间选择算法
      • 6.5.2 最坏情况下的线性时间选择算法
    • 6.6 应用
    • 本章小结
    • 习题
  • 第7章 树
    • 7.1 树的定义
    • 7.2 树的遍历
    • 7.3 树的表示法
      • 7.3.1 父结点数组表示法
      • 7.3.2 儿子链表表示法
      • 7.3.3 左儿子右兄弟表示法
    • 7.4 二叉树
    • 7.5 ADT二叉树
    • 7.6 二叉树的实现
      • 7.6.1 二叉树的顺序存储结构
      • 7.6.2 二叉树的结点度表示法
      • 7.6.3 用指针实现二叉树
    • 7.7 线索二叉树
    • 7.8 应用
    • 本章小结
    • 习题
  • 第8章 集合
    • 8.1 以集合为基础的抽象数据类型
      • 8.1.1 集合的定义和记号
      • 8.1.2 定义在集合上的基本运算
    • 8.2 用位向量实现集合
    • 8.3 用链表实现集合
    • 8.4 应用
    • 本章小结
    • 习题
  • 第9章 符号表
    • 9.1 实现符号表的简单方法
    • 9.2 用散列表实现符号表
      • 9.2.1 开散列
      • 9.2.2 闭散列
      • 9.2.3 散列函数及其效率
      • 9.2.4 闭散列的重新散列技术
    • 9.3 应用
    • 本章小结
    • 习题
  • 第10章 字典
    • 10.1 字典的定义
    • 10.2 用数组实现字典
    • 10.3 用二叉搜索树实现字典
    • 10.4 AVL树
      • 10.4.1 AVL树的定义和性质
      • 10.4.2 旋转变换
      • 10.4.3 AVL树的插入运算
      • 10.4.4 AVL树的删除运算
    • 10.5 应用
    • 本章小结
    • 习题
  • 第11章 优先队列
    • 11.1 优先队列的定义
    • 11.2 用字典实现优先队列
    • 11.3 优先级树和堆
    • 11.4 用数组实现堆
    • 11.5 可并优先队列
      • 11.5.1 左偏树的定义
      • 11.5.2 用左偏树实现可并优先队列
    • 11.6 应用
    • 本章小结
    • 习题
  • 第12章 并查集
    • 12.1 并查集的定义及其简单实现
    • 12.2 用父亲数组实现并查集
    • 12.3 应用
    • 本章小结
    • 习题
  • 第13章 图
    • 13.1 图的基本概念
    • 13.2 抽象数据类型ADT图
    • 13.3 图的表示法
      • 13.3.1 邻接矩阵表示法
      • 13.3.2 邻接表表示法
      • 13.3.3 紧缩邻接表
    • 13.4 用邻接矩阵实现图
      • 13.4.1 用邻接矩阵实现赋权有向图
      • 13.4.2 用邻接矩阵实现赋权无向图
      • 13.4.3 用邻接矩阵实现有向图
      • 13.4.4 用邻接矩阵实现无向图
    • 13.5 用邻接表实现图
      • 13.5.1 用邻接表实现有向图
      • 13.5.2 用邻接表实现无向图
      • 13.5.3 用邻接表实现赋权有向图
      • 13.5.4 用邻接表实现赋权无向图
    • 13.6 图的遍历
      • 13.6.1 广度优先搜索
      • 13.6.2 深度优先搜索
    • 13.7 最短路径
      • 13.7.1 单源最短路径
      • 13.7.2 所有顶点对之间的最短路径
    • 13.8 最小支撑树
      • 13.8.1 最小支撑树性质
      • 13.8.2 Prim算法
      • 13.8.3 Kruskal算法
    • 13.9 图匹配
    • 本章小结
    • 习题
  • 参考文献

相关图书