顶部
收藏

数据结构与算法

“十五”国家规划教材

作者:
辛运帏 刘璟 陈有祺
定价:
25.70元
ISBN:
978-7-04-016002-4
版面字数:
460.000千字
开本:
特殊
全书页数:
316页
装帧形式:
平装
重点项目:
“十五”国家规划教材
出版时间:
2006-01-12
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机类专业核心课程
三级分类:
数据结构

  本书是数据结构与算法设计的教材,其宗旨是将数据结构与算法设计有机地结合起来,向读者系统介绍了数据结构的基本概念及主要的算法设计方法。
  全书共分9章,第1章介绍了数据结构的基本概念,第3~8章分别介绍了线性表、串、栈、队列和数组、树结构和图结构以及查找和排序等数据结构的相关知识,在第2章简单介绍算法概念的基础上,第9章详细介绍了几种算法的设计方法,并给出实例具体说明设计过程。书中主要算法都用C++语言写出,并给出了详细的注解。
  本书概念清楚,选材精练,叙述深入浅出,用了大量的例子和图表来说明基本概念和方法,直观易懂。每章后面都附有习题,读者可以通过习题复习和检验所学知识。本书可以作为高等院校理工科学生的教材,也可以作为广大计算机科学与工程领域从业人员的参考书。
  • 第1章 绪论
    • 1.1 数据结构简介
      • 1.1.1 数据结构的发展历史
      • 1.1.2 数据结构的基本概念和术语
    • 1.2 有关的预备知识
      • 1.2.1 集合
      • 1.2.2 递归
      • 1.2.3 数学证明方法
    • 习题
  • 第2章 算法的基本概念与算法分析
    • 2.1 算法的基本概念
      • 2.1.1 一个简单的算法
      • 2.1.2 什么是算法
      • 2.1.3 算法与问题
      • 2.1.4 算法与程序
    • 2.2 算法的评估
      • 2.2.1 算法的正确性
      • 2.2.2 时间代价
      • 2.2.3 空间代价
      • 2.2.4 最优性
    • 2.3 算法的复杂度度量
      • 2.3.1 基本操作
      • 2.3.2 问题实例长度
      • 2.3.3 复杂度函数及其渐进性质
      • 2.3.4 最坏情形和最优情形
      • 2.3.5 平均情形和算法的期望复杂度
      • 2.3.6 复杂度函数的表示
    • 2.4 算法设计与分析的重要性
      • 2.4.1 一个实例
      • 2.4.2 计算机应用领域的变化
      • 2.4.3 计算机技术的发展需要设计有效算法
    • 2.5 MAXMIN问题
      • 2.5.1 MAXMIN问题的平凡算法
      • 2.5.2 第一次改进算法
      • 2.5.3 第二次改进算法
      • 2.5.4 采用分治策略的改进算法
      • 2.5.5 算法MAXMIN的讨论
    • 习题
  • 第3章 线性表
    • 3.1 线性表的定义和基本运算
    • 3.2 线性表的实现
      • 3.2.1 顺序存储结构
      • 3.2.2 链式存储结构
      • 3.2.3 两种基本实现方法的比较
      • 3.2.4 循环链表
      • 3.2.5 双向链表
    • 3.3 线性表的应用
    • 习题
  • 第4章 栈、队列和数组
    • 4.1 栈
      • 4.1.1 顺序栈
      • 4.1.2 链式栈
      • 4.1.3 顺序栈与链式栈的比较
      • 4.1.4 栈的应用
    • 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.3.4 数组的应用
    • 习题
  • 第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.3.3 树和森林的遍历
    • 5.4 树形结构的应用
      • 5.4.1 等价类问题
      • 5.4.2 哈夫曼树和哈夫曼编码
    • 习题
  • 第6章 图
    • 6.1 图的基本概念
      • 6.1.1 图的基本概念
      • 6.1.2 图的抽象数据类型
    • 6.2 图的存储结构
      • 6.2.1 邻接矩阵
      • 6.2.2 邻接表
      • 6.2.3 逆邻接表
      • 6.2.4 邻接多重表
      • 6.2.5 图的实现
    • 6.3 图的遍历及求图的连通分量
      • 6.3.1 深度优先搜索
      • 6.3.2 广度优先搜索
      • 6.3.3 无向图的连通分量
    • 6.4 生成树和最小代价生成树
      • 6.4.1 生成树
      • 6.4.2 最小代价生成树
    • 6.5 最短路径
      • 6.5.1 从某个源点到其他各顶点的最短路径
      • 6.5.2 每一对顶点间的最短路径
    • 6.6 有向无环图及其应用
      • 6.6.1 有向无环图
      • 6.6.2 拓扑排序
      • 6.6.3 关键路径
    • 习题
  • 第7章 查找
    • 7.1 查找的基本概念
    • 7.2 顺序表的查找
      • 7.2.1 顺序查找
      • 7.2.2 折半查找
      • 7.2.3 索引顺序表的查找
    • 7.3 树表的查找
      • 7.3.1 二叉排序树
      • 7.3.2 平衡二叉树
      • 7.3.3 B-树
    • 7.4 哈希表及其查找
      • 7.4.1 什么是哈希
      • 7.4.2 哈希函数的构造方法
      • 7.4.3 处理冲突的几种方法
      • 7.4.4 哈希表的查找及其效率分析
    • 习题
  • 第8章 内部排序
    • 8.1 排序的一般概念
    • 8.2 插入排序
      • 8.2.1 直接插入排序
      • 8.2.2 折半插入排序
      • 8.2.3 希尔排序
    • 8.3 交换排序
      • 8.3.1 起泡排序
      • 8.3.2 快速排序
    • 8.4 选择排序
      • 8.4.1 简单选择排序
      • 8.4.2 堆排序
    • 8.5 归并排序
      • 8.5.1 两个有序序列的归并操作
      • 8.5.2 归并排序
    • 8.6 分配排序和基数排序
    • 8.7 有关内部排序算法的比较
    • 习题
  • 第9章 算法设计技术
    • 9.1 求解问题的基本思路
    • 9.2 分治技术
      • 9.2.1 分治策略的思想
      • 9.2.2 大整数乘法
      • 9.2.3 矩阵相乘的Strassen算法
      • 9.2.4 选择问题的分治算法
    • 9.3 贪心技术
      • 9.3.1 贪心算法的思想
      • 9.3.2 活动安排问题
      • 9.3.3 背包问题
      • 9.3.4 多机调度问题的近似算法
      • 9.3.5 单源最短路径问题的Dijkstra算法
    • 9.4 回溯与分枝限界技术
      • 9.4.1 两个适合回溯技术的问题
      • 9.4.2 八后问题
      • 9.4.3 0?1背包问题的回溯算法
      • 9.4.4 分枝限界算法
    • 9.5 动态规划技术
      • 9.5.1 Fibonacci数的计算
      • 9.5.2 矩阵连乘的顺序问题
      • 9.5.3 适合动态规划算法的两个条件
  • 综合练习题一
  • 综合练习题二
  • 综合练习题三
  • 综合练习题四
  • 综合练习题五
  • 综合模拟题一
  • 综合模拟题二
  • 参考文献

相关图书