欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 数据结构与算法(C++版第2版高等学校计算机课程规划教材)
      • 作者:编者:游洪跃//唐宁九|责编:汪汉友
      • 出版社:清华大学
      • ISBN:9787302557746
      • 出版日期:2020/11/01
      • 页数:380
    • 售价:27.6
  • 内容大纲

        本书结合C++面向对象程序设计的特点,构建了数据结构与算法,对所有算法都在Visual C++ 6.0、Visual C++ 2017、Dev-C++ v5.11和CodeBlocks v16.01开发环境中进行了严格的测试,同时还提供了大量其他的教学支持资源。通过扫描二维码可观看全书所有例题、数据结构相关的类模板及算法相关函数模板的测试程序演示视频。
        本书共分11章。第1章是基础知识,介绍基本概念及其术语;第2章介绍线性表;第3章介绍栈和队列,用栈实现了表达式求值;第4章介绍串,详细讨论了串的存储结构与模式匹配算法;第5章介绍数组和广义表,提出并实现了广义表的使用空间表存储结构;第6章介绍树,应用哈夫曼编码实现了文件的压缩;第7章介绍图,实现了图的常用存储结构,讨论了图的相关应用,并实现了相应算法;第8章介绍查找、静态查找表、动态查找表、哈希表及算法实现;第9章介绍排序,以简捷方式实现各种排序算法;第10章介绍文件,讨论了几种常用的文件结构;第11章介绍算法设计和分析技术。
        通过本书的学习,不但能迅速提高应用数据结构与算法的能力,而且能提高C++程序设计的能力。本书可作为高等学校计算机类相关专业数据结构、数据结构与算法分析、数据结构与算法设计、数据结构与算法等课程的教材,也可供从事软件开发工作的读者学习或参考。
  • 作者介绍

  • 目录

    第1章  绪论
      1.1  数据结构的概念和学习数据结构的必要性
      1.2  数据结构的基本概念
        1.2.1  数据
        1.2.2  数据元素和数据项
        1.2.3  数据结构
      1.3  抽象数据类型及其实现
        1.3.1  数据类型
        1.3.2  抽象数据类型
      1.4  算法和算法分析
        1.4.1  算法
        1.4.2  算法分析
      **1.5  实例研究:生命游戏
      1.6  深入学习导读
      1.7  习题
    第2章  线性表
      2.1  线性表的逻辑结构
      2.2  线性表的顺序存储结构
      2.3  线性表的链式存储结构
        2.3.1  单链表
        2.3.2  循环链表
        2.3.3  双向链表
        *2.3.4  在链表结构中保存当前位置和元素个数
      **2.4  实例研究:计算任意大整数的阶乘
      2.5  深入学习导读
      2.6  习题
    第3章  栈和队列
      3.1  栈
        3.1.1  栈的基本概念
        3.1.2  顺序栈
        3.1.3  链式栈
      3.2  队列
        3.2.1  队列的基本概念
        3.2.2  链队列
        3.2.3  循环队列——队列的顺序存储结构
        *3.2.4  队列应用——显示二项式(a+b)i的系数
      *3.3  优先队列
      *3.4  实例研究:表达式求值
      3.5  深入学习导读
      3.6  习题
    第4章  串
      4.1  串类型的定义
      4.2  字符串的实现
      4.3  字符串模式匹配算法
        4.3.1  简单字符串模式匹配算法
        *4.3.2  首尾字符串模式匹配算法
        **4.3.3  KMP字符串模式匹配算法
      **4.4  实例研究:文本编辑
      4.5  深入学习导读
      4.6  习题

    第5章  数组和广义表
      5.1  数组
        5.1.1  数组的基本概念
        5.1.2  数组的顺序表
        **5.1.3  数组的类模板定义
      5.2  矩阵
        5.2.1  矩阵的定义和操作
        5.2.2  特殊矩阵
        5.2.3  稀疏矩阵
      5.3  广义表
        5.3.1  基本概念
        *5.3.2  广义表的存储结构
      **5.4  实例研究:稳定伴侣问题
      5.5  深入学习导读
      5.6  习题
    第6章  树和二叉树
      6.1  树的基本概念
        6.1.1  树的定义
        6.1.2  基本术语
      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.5  树和森林的实现
        6.5.1  树的存储表示
        *6.5.2  树的显示
        6.5.3  森林的存储表示
        6.5.4  树和森林的遍历
        6.5.5  将树和森林与二叉树相互转换
      6.6  哈夫曼树与哈夫曼编码
        6.6.1  哈夫曼树的基本概念
        6.6.2  哈夫曼树构造算法
        6.6.3  哈夫曼编码
        *6.6.4  哈夫曼树的实现
      **6.7  树的计数
      **6.8  树在等价关系上的应用
      **6.9  实例研究:哈夫曼压缩算法
      6.10  深入学习导读
      6.11  习题
    第7章  图
      7.1  图的定义和术语
      7.2  图的存储表示
        7.2.1  邻接矩阵

        7.2.2  邻接表
      7.3  图的遍历
        7.3.1  深度优先搜索
        7.3.2  广度优先搜索
      7.4  连通无向网的最小代价生成树
        7.4.1  Prim算法
        7.4.2  Kruskal算法
      7.5  有向无环图及应用
        7.5.1  拓扑排序
        7.5.2  关键路径
      7.6  最短路径
        7.6.1  单源点最短路径问题
        7.6.2  所有顶点之间的最短路径
      **7.7  实例研究:周游世界问题——哈密顿圈
      7.8  深入学习导读
      7.9  习题
    第8章  查找
      8.1  查找的基本概念
      8.2  静态表的查找
        8.2.1  顺序查找
        8.2.2  有序表的查找
      8.3  动态查找表
        8.3.1  二叉排序树
        *8.3.2  平衡二叉树
        *8.3.3  B树和B+树
      8.4  哈希表
        8.4.1  哈希表的概念
        8.4.2  构造哈希函数的方法
        8.4.3  处理冲突的方法
        *8.4.4  哈希表的实现
      **8.5  实例研究:查找3个数组的最小共同元素
      8.6  深入学习导读
      8.7  习题
    第9章  排序
      9.1  概述
      9.2  插入排序
        9.2.1  直接插入排序
        9.2.2  Shell排序
      9.3  交换排序
        9.3.1  冒泡排序
        9.3.2  快速排序
      9.4  选择排序
        9.4.1  简单选择排序
        9.4.2  堆排序
      9.5  归并排序
      *9.6  基数排序
        9.6.1  多关键字排序
        9.6.2  基数排序
      *9.7  各种内部排序方法讨论
      *9.8  外部排序

        9.8.1  外部排序基础
        9.8.2  外部排序的方法
      **9.9  实例研究:用堆实现优先队列
      9.10  深入学习导读
      9.11  习题
    *第10章  文件
      10.1  主存储器和辅助存储器
      10.2  各种常用文件结构
        10.2.1  顺序文件
        10.2.2  索引文件
        10.2.3  哈希文件
      10.3  实例研究
        10.3.1  VSAM文件
        10.3.2  多关键字文件
      10.4  深入学习导读
      10.5  习题
    第11章  算法设计与分析
      11.1  算法设计
        11.1.1  递归算法
        11.1.2  分治算法
        *11.1.3  动态规划算法
        *11.1.4  贪婪算法
        *11.1.5  回溯法
        **11.1.6  分支限界法
      11.2  算法分析
        11.2.1  递归分析
        **11.2.2  利用生成函数进行分析
      **11.3  实例研究:图着色问题
      11.4  深入学习导读
      11.5  习题
    参考文献
    附录A  调和级数
    附录B  泊松分布
    附录C  配套软件包文件索引
    附录D  主流C++开发环境的使用方法