全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 程序与语言

数据结构--从概念到Java实现(算法与程序设计普通高校本科计算机专业特色教材精选)

  • 定价: ¥49
  • ISBN:9787302513407
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:清华大学
  • 页数:304页
  • 作者:编者:王红梅//党...
  • 立即节省:
  • 2019-03-01 第1版
  • 2019-03-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    数据结构是计算机及相关专业的核心课程,也是计算机及相关专业硕士研究生入学考试的必考科目,而且是理工专业的热门公选课程。王红梅、党源源、刘冰编著的《数据结构--从概念到Java实现(算法与程序设计普通高校本科计算机专业特色教材精选)》介绍了数据结构、算法以及抽象数据类型的概念,讲述了线性表、栈和队列、字符串和多维数组、树和二叉树、图等常用数据结构,讨论了查找和排序技术。本书通过合理规划教学内容,梳理了知识单元及其拓扑结构,并兼顾概念层和实现层,既强调数据结构的基本概念和原理及方法,又注重数据结构的程序实现和实际运用,在提炼基础知识的同时,进行了适当的扩展和提高。
    本书内容丰富,层次清晰,深入浅出且结合了实例,可作为计算机及相关专业数据结构课程的教材,也可供从事计算机软件开发和应用的工程技术人员参考和阅读。

目录

第1章  绪论
  1.1  问题求解与程序设计
    1.1.1  程序设计的一般过程
    1.1.2  数据结构在程序设计中的作用
    1.1.3  算法在程序设计中的作用
    1.1.4  本书讨论的主要内容
  1.2  数据结构的基本概念
    1.2.1  数据结构
    1.2.2  抽象数据类型
  1.3  算法的基本概念
    1.3.1  算法及算法的特性
    1.3.2  算法的描述方法
  1.4  算法分析
    1.4.1  算法的时间复杂度
    1.4.2  算法的空间复杂度
    1.4.3  算法分析举例
  1.5  扩展与提高
    1.5.1  从数据到大数据
    1.5.2  算法分析的其他渐进符号
  思想火花——概率算法
  习题
第2章  线性表
  2.1  引言
  2.2  线性表的逻辑结构
    2.2.1  线性表的定义
    2.2.2  线性表的抽象数据类型
    2.2.3  线性表的Java接口定义
  2.3  线性表的顺序存储结构及实现
    2.3.1  顺序表的存储结构
    2.3.2  顺序表的实现
    2.3.3  顺序表的使用
  2.4  线性表的链接存储结构及实现
    2.4.1  单链表的存储结构
    2.4.2  单链表的实现
    2.4.3  单链表的使用
    2.4.4  双链表
    2.4.5  循环链表
  2.5  顺序表和链表的比较
  2.6  扩展与提高
    2.6.1  线性表的静态链表存储
    2.6.2  顺序表的动态分配方式
  2.7  应用实例
    2.7.1  约瑟夫环问题
    2.7.2  一元多项式求和
  思想火花——好算法是反复努力和重新修正的结果
  习题
  实验题
第3章  栈和队列
  3.1  引言
  3.2  栈
    3.2.1  栈的逻辑结构
    3.2.2  栈的顺序存储结构及实现
    3.2.3  栈的链接存储结构及实现
    3.2.4  顺序栈和链栈的比较
  3.3  队列
    3.3.1  队列的逻辑结构
    3.3.2  队列的顺序存储结构及实现
    3.3.3  队列的链接存储结构及实现
    3.3.4  循环队列与链队列的比较
  3.4  扩展与提高
    3.4.1  两栈共享空间
    3.4.2  双端队列
  3.5  应用举例
    3.5.1  括号匹配问题
    3.5.2  表达式求值
  思想火花——好程序要能识别和处理各种输入
  习题
  实验题
第4章  字符串和多维数组
  4.1  引言
  4.2  字符串
    4.2.1  字符串的逻辑结构
    4.2.2  字符串的存储结构
    4.2.3  模式匹配
  4.3  多维数组
    4.3.1  数组的逻辑结构
    4.3.2  数组的存储结构与寻址
  4.4  矩阵的压缩存储
    4.4.1  特殊矩阵的压缩存储
    4.4.2  稀疏矩阵的压缩存储
  4.5  扩展与提高
    4.5.1  稀疏矩阵的转置运算
    4.5.2  广义表
  4.6  应用实例
    4.6.1  发纸牌
    4.6.2  八皇后问题
  思想火花——用常识性的思维去思考问题
  习题
  实验题
第5章  树和二叉树
  5.1  引言
  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  二叉树的基本性质
    5.4.3  二叉树的抽象数据类型定义
    5.4.4  二叉树的遍历操作定义
    5.4.5  二叉树的Java接口定义
  5.5  二叉树的存储结构及实现
    5.5.1  顺序存储结构
    5.5.2  二叉链表
    5.5.3  三叉链表
  5.6  森林
    5.6.1  森林的逻辑结构
    5.6.2  树、森林与二叉树的转换
  5.7  最优二叉树
    5.7.1  哈夫曼算法
    5.7.2  哈夫曼编码
  5.8  扩展与提高
    5.8.1  二叉树遍历的非递归算法
    5.8.2  线索二叉树
  5.9  应用实例
    5.9.1  堆与优先队列
    5.9.2  并查集
  思想火花——调试程序与魔术表演
  习题
  实验题
第6章  图
  6.1  引言
  6.2  图的逻辑结构
    6.2.1  图的定义和基本术语
    6.2.2  图的抽象数据类型定义
    6.2.3  图的遍历操作
    6.2.4  图的Java接口定义
  6.3  图的存储结构及实现
    6.3.1  邻接矩阵
    6.3.2  邻接表
    6.3.3  邻接矩阵和邻接表的比较
  6.4  最小生成树
    6.4.1  Prim算法
    6.4.2  Kruskal算法
  6.5  最短路径
    6.5.1  Dijkstra算法
    6.5.2  Floyd算法
  6.6  有向无环图及其应用
    6.6.1  AOV网与拓扑排序
    6.6.2  AOE网与关键路径
  6.7  扩展与提高
    6.7.1  图的其他存储方法
    6.7.2  图的连通性
  6.8  应用实例
    6.8.1  七巧板涂色问题
    6.8.2  医院选址问题
  思想火花——直觉可能是错误的
  习题
  实验题
第7章  查找技术
  7.1  引言
    7.1.1  查找的基本概念
    7.1.2  查找算法的性能
  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  散列查找的性能分析
    7.4.5  开散列表与闭散列表的比较
  7.5  各种查找方法的比较
  7.6  扩展与提高
    7.6.1  顺序查找的改进——分块查找
    7.6.2  折半查找的改进——插值查找
    7.6.3  B树的改进——B+树
  思想火花——把注意力集中于主要因素,不要纠缠于噪声
  习题
  实验题
第8章  排序技术
  8.1  引言
    8.1.1  排序的基本概念
    8.1.2  排序算法的性能
    8.1.3  排序类的定义
  8.2  插入排序
    8.2.1  直接插入排序
    8.2.2  希尔排序
  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  各种排序方法的比较
  8.8  扩展与提高
    8.8.1  排序问题的时间下界
    8.8.2  基数排序
  思想火花——学会“盒子以外的思考”
  习题
  实验题
附录A  预备知识
  A.1  数学术语
  A.2  级数求和
  A.3  集合
  A.4  关系
附录B  Java语言基本语法
  B.1  程序文件结构
  B.2  数据类型
  B.3  Java编程规范
  B.4  控制语句
  B.5  函数
  B.6  类与对象
  B.7  接口
  B.8  异常处理
附录C  中英文词汇对照表
参考文献