您好,欢迎光临有路网!
数据结构——基于C语言的描述
QQ咨询:
有路璐璐:

数据结构——基于C语言的描述

  • 作者:彭波
  • 出版社:清华大学出版社
  • ISBN:9787302531159
  • 出版日期:2019年10月01日
  • 页数:359
  • 定价:¥69.00
  • 猜你也喜欢

    分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    • 出版社
    • ISBN
      9787302531159
    • 作者
    • 页数
      359
    • 出版时间
      2019年10月01日
    • 定价
      ¥69.00
    • 所属分类
    内容提要
    《数据结构:基于C语言的描述/高等学校电子信息类专业系列教材》系统地介绍数据结构基础理论知识及算法设计,第1~7章从抽象数据类型的角度讨论各种基本类型的数据结构及其应用,主要包括线性表、栈和队列、串、数组和广义表、树和二叉树及图;第8章和第9章主要讨论查找和排序的各种实现方法及其综合比较;第10章介绍不同类型文件的基本操作方法;第11章介绍数据结构课程实验的目的、步骤及内容;附录给出全书习题的参考答案。全书采用类C语言作为数据结构和算法的描述语言,随书配备电子教案,以及第11章实验的源代码。
    该书在内容选取上符合人才培养目标的要求及教学规律和认知规律,在组织编排上体现“先理论、后应用、理论与应用相结合”的原则,并兼顾学科的广度和深度,力求适用面广。
    《数据结构:基于C语言的描述/高等学校电子信息类专业系列教材》具有结构严谨、层次清楚、概念准确、深入浅出、描述清晰等特点。
    《数据结构:基于C语言的描述/高等学校电子信息类专业系列教材》可作为计算机类专业和信息类相关专业的本科或专科教材,也可供从事计算机工程与应用工作的科技工作者参考。
    文章节选
    第3章 CHAPTER 3

    栈 和 队 列





    主要知识点  栈和队列的类型定义。  栈的存储表示及基于存储结构的基本操作实现。  队列的存储表示及基于存储结构的基本操作实现。 栈和队列是两种重要的线性结构,从数据结构的角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子集,它们是操作受限制的线性表,因此可以称为限定性的数据结构。但从数据类型的角度看,它们是和线性表大不相同的两类抽象数据类型。栈和队列在操作系统、编译原理及大型应用软件系统中得到了广泛的应用。 3.1栈 栈的特点在于其基本操作的特殊性,即它必须按照“后进先出”的规则进行操作。与线性表相比,其插入和删除操作受到更多的约束和限定。 3.1.1栈的类型定义 在日常生活中,有很多“后进先出”的例子。例如,把餐厅里洗净的一摞碗看作一个栈。通常,后洗净的碗总是摞在先洗净的碗上面,*后洗净的碗摞在*上面; 而使用时却是从这摞碗顶端拿取,即后洗净的先取用。栈的操作特点正是上述实际的抽象。 1. 栈的定义 栈(Stack)是限定仅可以在表尾进行插入和删除操作的线性表。允许插入和删除的一端称为栈顶(Top),栈顶将随着栈中数据元素的增减而浮动,且通过栈顶指针指明当前数据元素位置; 不允许插入和删除的一端称为栈底(Bottom),栈底指针并不随着栈中数据元素的增减而移动,它是固定的。不含任何数据元素的栈称为空栈(Empty Stack)。


    图31栈的示意图


    如图31所示,栈中有3个数据元素,插入元素(也称入栈)顺序是a1、a2、a3,当需要删除元素(也称出栈)时,其顺序只能为a3、a2、a1。换言之,在任何时候出栈的数据元素都只能是栈顶元素,即*后入栈者*先出栈,所以栈中元素除了具有线性关系外,还具有后进先出(Last In First Out,LIFO)的特性。栈也可以简称为LIFO表。

    图32所示的铁路调度站A是一个栈。车辆由轨道B进入调度站A,调度站A中的车辆从轨道C离去; 后进入调度站A的车辆将先调出。

    图32铁路调度示意图

    在程序设计语言中,也有很多栈的应用例子。例如,在对程序设计语言编写的源程序进行编译时,类似于表达式括号匹配问题就是用栈来解决的。又如,计算机系统在处理子程序之间的调用关系时,用栈来保存处理执行过程中的调用层次,等等。
    目录
    第1章 绪论
    1.1 数据结构的范畴
    1.1.1 计算机处理问题的分类
    1.1.2 非数值性问题的求解
    1.2 数据结构发展的概况
    1.3 数据结构相关的概念
    1.3.1 数据的概念
    1.3.2 结构的概念
    1.3.3 类型的概念
    1.4 算法描述与算法分析
    1.4.1 算法的概念
    1.4.2 算法描述
    1.4.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 基于时间的比较
    习题

    第3章 栈和队列
    3.1 栈
    3.1.1 栈的类型定义
    3.1.2 栈的存储表示及操作实现
    3.1.3 栈与递归问题
    3.2 队列
    3.2.1 队列的类型定义
    3.2.2 队列的存储表示及操作实现
    习题

    第4章 串
    4.1 串的类型定义
    4.1.1 串的定义
    4.1.2 串的抽象数据类型
    4.2 串的存储表示及操作实现
    4.2.1 定长顺序存储表示
    4.2.2 堆分配存储表示
    4.2.3 串的块链存储表示
    4.3 串的模式匹配
    4.3.1 简单的模式匹配方法——BF算法
    4.3.2 改进的模式匹配方法——KMP算法
    习题

    第5章 数组和广义表
    5.1 数组
    5.1.1 数组的类型定义
    5.1.2 数组的顺序表示及操作实现
    5.2 矩阵的压缩存储
    5.2.1 特殊矩阵的压缩存储
    5.2.2 稀疏矩阵的压缩存储
    5.3 广义表
    5.3.1 广义表的类型定义
    5.3.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.3 树和森林与二叉树的转换
    6.3.1 树与二叉树的转换
    6.3.2 森林与二叉树的转换
    6.4 哈夫曼树及其应用
    6.4.1 哈夫曼树
    6.4.2 哈夫曼编码
    习题

    第7章 图
    7.1 图的类型定义
    7.1.1 图的定义
    7.1.2 图的抽象数据类型
    7.1.3 图的遍历
    7.2 图的存储表示与操作实现
    7.2.1 邻接矩阵
    7.2.2 邻接表
    7.2.3 十字链表
    7.2.4 邻接多重表
    7.2.5 图的操作实现
    7.3 图的连通性及其应用
    7.3.1 无向图的连通分量
    7.3.2 生成树和生成森林
    7.3.3 *小生成树
    7.4 有向无环图及其应用
    7.4.1 拓扑排序
    7.4.2 关键路径
    7.5 *短路径
    7.5.1 单源*短路径
    7.5.2 其他*短路径
    习题

    第8章 查找
    8.1 查找的基本概念
    8.2 静态查找表
    8.2.1 静态查找表的类型定义
    8.2.2 顺序表的查找
    8.2.3 有序表的查找
    8.2.4 索引顺序表的查找
    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 哈希表上的查找
    习题

    第9章 排序
    9.1 排序的基本概念
    9.2 插入排序
    9.2.1 直接插入排序
    9.2.2 希尔排序
    9.3 交换排序
    9.3.1 冒泡排序
    9.3.2 快速排序
    9.4 选择排序
    9.4.1 简单选择排序
    9.4.2 堆排序
    9.5 归并排序
    9.5.1 2-路归并排序
    9.5.2 归并排序
    9.6 基数排序
    9.6.1 多关键字排序
    9.6.2 链式基数排序
    9.7 排序方法比较
    习题

    第10章 文件
    10.1 文件的基本概念
    10.2 顺序文件
    10.2.1 顺序文件的查找
    10.2.2 顺序文件的修改
    10.2.3 顺序文件的特点
    10.3 索引文件
    10.3.1 索引文件的分类
    10.3.2 索引文件的存储
    10.3.3 索引文件的操作
    10.3.4 利用查找表建立多级索引
    10.4 索引顺序文件
    10.4.1 ISAM文件
    10.4.2 VSAM文件
    10.5 哈希文件
    10.5.1 哈希文件的操作
    10.5.2 哈希文件的特点
    10.6 多关键字文件
    10.6.1 多重表文件
    10.6.2 倒排文件
    10.7 文件综合举例
    习题

    第11章 课程实验
    11.1 实验概述
    11.1.1 教学目的
    11.1.2 实验步骤
    11.2 实验内容
    11.2.1 线性表
    11.2.2 栈和队列
    11.2.3 串
    11.2.4 数组和广义表
    11.2.5 树和二叉树
    11.2.6 图
    11.2.7 查找
    11.2.8 排序

    附录 习题参考答案
    编辑推荐语
    本书是为“数据结构”课程编写的教材。系统地介绍了数据结构基础理论知识及算法设计方法,前半部分从抽象数据类型角度讨论了各种基本类型的数据结构及其应用,主要包括:线性表、栈和队列、串、数组和广义表、树与二叉树及图。

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外