数据结构(C语言版)(第2版)/清华大学计算机系列教材

数据结构(C语言版)(第2版)/清华大学计算机系列教材
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2017-04
版次: 1
ISBN: 9787302459897
定价: 49.50
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 404页
字数: 638千字
正文语种: 简体中文
66人买过
  •   本书是根据教育部《高等学校计算机科学与技术专业公共核心知识体系与课程》编写的数据结构主教材。全书共8章。第1章介绍数据结构的地位和主要知识点,数据结构和算法的基本概念和算法分析的简单方法,以及C语言编程的要点。第2~8章分别介绍了线性表、栈和队列及其应用、多维数组、特殊矩阵、稀疏矩阵、字符串和广义表、树与二叉树、图、查找、排序,并做了适当延伸。作者在讨论每一个知识单元时,结合30多年教学的经验和考试辅导的体会,合理安排教材内容,力求透彻、全面,对学生读书容易忽略的地方和隐藏在书中所讨论问题后面的东西都有适当的提示。
      本书的编写得到清华大学2015年精品教材建设项目的资助。本书既可作为高等学校计算机科学与技术专业和软件工程专业本科生学习数据结构与算法课程的教材,也可以作为计算机专业考研的辅导教材或其他计算机或软件考试的复习教材,还可作为计算机或软件系统开发人员的参考资料。
    第1章 绪论 1 
    1.1 数据结构的概念及分类 1 
    1.1.1 为什么要学习数据结构 1 
    1.1.2 与数据结构相关的基本术语 2 
    1.1.3 数据结构的分类 5 
    1.1.4 数据结构的存储结构 6 
    1.1.5 定义在数据结构上的操作 7 
    1.1.6 “好”数据结构 7 
    1.2 使用C语言描述数据结构 7 
    1.2.1 C语言的数据类型 8 
    1.2.2 算法的控制结构 9 
    1.2.3 算法的函数结构 10 
    1.2.4 动态存储分配 12 
    1.2.5 逻辑和关系运算的约定 12 
    1.2.6 输入与输出 13 
    1.3 算法和算法设计 13 
    1.3.1 算法的定义和特性 13 
    1.3.2 算法的设计步骤 14 
    1.3.3 算法设计的基本方法 15 
    1.4 算法分析与度量 18 
    1.4.1 算法的评价标准 18 
    1.4.2 算法的时间和空间复杂度度量 18 
    1.4.3 算法的渐近分析 21 
    小结 24 
    习题 24 
    第2章 线性表 27 
    2.1 线性表 27 
    2.1.1 线性表的定义和特点 27 
    2.1.2 线性表的主要操作 28 
    2.2 顺序表 29 
    2.2.1 顺序表的定义和特点 29 
    2.2.2 顺序表的结构定义 30 
    2.2.3 顺序表查找操作的实现 31 
    2.2.4 顺序表插入和删除操作的实现 32 
    2.2.5 顺序表的应用:集合运算 34 
    2.3 单链表 35 
    2.3.1 单链表的定义和特点 35 
    2.3.2 单链表的结构定义 36 
    2.3.3 单链表中的插入与删除 36 
    2.3.4 带头结点的单链表 40 
    2.3.5 单链表的遍历与创建 42 
    2.3.6 单链表的应用:集合运算 44 
    2.3.7 循环链表 46 
    2.3.8 双向链表 50 
    2.3.9 静态链表 53 
    2.4 顺序表与线性链表的比较 54 
    2.5 线性表的应用:一元多项式及其运算 56 
    2.5.1 一元多项式的表示 56 
    2.5.2 多项式的结构定义 57 
    2.5.3 多项式的加法 59 
    2.5.4 扩展阅读:多项式的乘法 60 
    小结 62 
    习题 63 
    第3章 栈和队列 66 
    3.1 栈 66 
    3.1.1 栈的概念 66 
    3.1.2 顺序栈 67 
    3.1.3 扩展阅读:多栈处理 70 
    3.1.4 链式栈 73 
    3.1.5 扩展阅读:栈的混洗 74 
    3.2 队列 76 
    3.2.1 队列的概念 76 
    3.2.2 循环队列 76 
    3.2.3 链式队列 80 
    3.3 栈的应用 82 
    3.3.1 数制转换 82 
    3.3.2 括号匹配 83 
    3.3.3 表达式的计算与优先级处理 84 
    3.3.4 栈与递归的实现 88 
    3.4 队列的应用 91 
    3.5 在算法设计中使用递归 92 
    3.5.1 汉诺塔问题与分治法 92 
    3.5.2 直接把递归过程改为非递归过程 94 
    3.5.3 扩展阅读:递归过程的非递归模拟算法 95 
    3.5.4 迷宫问题与回溯法 98 
    3.5.5 计算组合数与动态规划 101 
    3.6 扩展阅读:双端队列 102 
    3.6.1 双端队列的概念 102 
    3.6.2 输入受限的双端队列 103 
    3.6.3 输出受限的双端队列 104 
    3.6.4 双端队列的存储表示 104 
    3.7 扩展阅读:优先队列 106 
    3.7.1 优先队列的概念 106 
    3.7.2 优先队列的实现 107 
    小结 108 
    习题 108 
    第4章 数组、串和广义表 112 
    4.1 数组 112 
    4.1.1 一维数组 112 
    4.1.2 多维数组 114 
    4.2 特殊矩阵的压缩存储 116 
    4.2.1 对称矩阵的压缩存储 117 
    4.2.2 三对角矩阵的压缩存储 118 
    4.2.3 扩展阅读:w对角矩阵的压缩存储 119 
    4.3 稀疏矩阵 120 
    4.3.1 稀疏矩阵的概念 120 
    4.3.2 稀疏矩阵的顺序存储表示 121 
    4.3.3 稀疏矩阵的链表表示 124 
    4.4 字符串 125 
    4.4.1 字符串的概念 126 
    4.4.2 字符串的初始化和赋值 126 
    4.4.3 自定义字符串的存储表示 128 
    4.4.4 串的模式匹配 132 
    4.5 广义表 140 
    4.5.1 广义表的概念 140 
    4.5.2 广义表的性质 141 
    4.5.3 广义表的链接表示 141 
    4.5.4 扩展阅读:三元多项式的表示 147
  • 内容简介:
      本书是根据教育部《高等学校计算机科学与技术专业公共核心知识体系与课程》编写的数据结构主教材。全书共8章。第1章介绍数据结构的地位和主要知识点,数据结构和算法的基本概念和算法分析的简单方法,以及C语言编程的要点。第2~8章分别介绍了线性表、栈和队列及其应用、多维数组、特殊矩阵、稀疏矩阵、字符串和广义表、树与二叉树、图、查找、排序,并做了适当延伸。作者在讨论每一个知识单元时,结合30多年教学的经验和考试辅导的体会,合理安排教材内容,力求透彻、全面,对学生读书容易忽略的地方和隐藏在书中所讨论问题后面的东西都有适当的提示。
      本书的编写得到清华大学2015年精品教材建设项目的资助。本书既可作为高等学校计算机科学与技术专业和软件工程专业本科生学习数据结构与算法课程的教材,也可以作为计算机专业考研的辅导教材或其他计算机或软件考试的复习教材,还可作为计算机或软件系统开发人员的参考资料。
  • 目录:
    第1章 绪论 1 
    1.1 数据结构的概念及分类 1 
    1.1.1 为什么要学习数据结构 1 
    1.1.2 与数据结构相关的基本术语 2 
    1.1.3 数据结构的分类 5 
    1.1.4 数据结构的存储结构 6 
    1.1.5 定义在数据结构上的操作 7 
    1.1.6 “好”数据结构 7 
    1.2 使用C语言描述数据结构 7 
    1.2.1 C语言的数据类型 8 
    1.2.2 算法的控制结构 9 
    1.2.3 算法的函数结构 10 
    1.2.4 动态存储分配 12 
    1.2.5 逻辑和关系运算的约定 12 
    1.2.6 输入与输出 13 
    1.3 算法和算法设计 13 
    1.3.1 算法的定义和特性 13 
    1.3.2 算法的设计步骤 14 
    1.3.3 算法设计的基本方法 15 
    1.4 算法分析与度量 18 
    1.4.1 算法的评价标准 18 
    1.4.2 算法的时间和空间复杂度度量 18 
    1.4.3 算法的渐近分析 21 
    小结 24 
    习题 24 
    第2章 线性表 27 
    2.1 线性表 27 
    2.1.1 线性表的定义和特点 27 
    2.1.2 线性表的主要操作 28 
    2.2 顺序表 29 
    2.2.1 顺序表的定义和特点 29 
    2.2.2 顺序表的结构定义 30 
    2.2.3 顺序表查找操作的实现 31 
    2.2.4 顺序表插入和删除操作的实现 32 
    2.2.5 顺序表的应用:集合运算 34 
    2.3 单链表 35 
    2.3.1 单链表的定义和特点 35 
    2.3.2 单链表的结构定义 36 
    2.3.3 单链表中的插入与删除 36 
    2.3.4 带头结点的单链表 40 
    2.3.5 单链表的遍历与创建 42 
    2.3.6 单链表的应用:集合运算 44 
    2.3.7 循环链表 46 
    2.3.8 双向链表 50 
    2.3.9 静态链表 53 
    2.4 顺序表与线性链表的比较 54 
    2.5 线性表的应用:一元多项式及其运算 56 
    2.5.1 一元多项式的表示 56 
    2.5.2 多项式的结构定义 57 
    2.5.3 多项式的加法 59 
    2.5.4 扩展阅读:多项式的乘法 60 
    小结 62 
    习题 63 
    第3章 栈和队列 66 
    3.1 栈 66 
    3.1.1 栈的概念 66 
    3.1.2 顺序栈 67 
    3.1.3 扩展阅读:多栈处理 70 
    3.1.4 链式栈 73 
    3.1.5 扩展阅读:栈的混洗 74 
    3.2 队列 76 
    3.2.1 队列的概念 76 
    3.2.2 循环队列 76 
    3.2.3 链式队列 80 
    3.3 栈的应用 82 
    3.3.1 数制转换 82 
    3.3.2 括号匹配 83 
    3.3.3 表达式的计算与优先级处理 84 
    3.3.4 栈与递归的实现 88 
    3.4 队列的应用 91 
    3.5 在算法设计中使用递归 92 
    3.5.1 汉诺塔问题与分治法 92 
    3.5.2 直接把递归过程改为非递归过程 94 
    3.5.3 扩展阅读:递归过程的非递归模拟算法 95 
    3.5.4 迷宫问题与回溯法 98 
    3.5.5 计算组合数与动态规划 101 
    3.6 扩展阅读:双端队列 102 
    3.6.1 双端队列的概念 102 
    3.6.2 输入受限的双端队列 103 
    3.6.3 输出受限的双端队列 104 
    3.6.4 双端队列的存储表示 104 
    3.7 扩展阅读:优先队列 106 
    3.7.1 优先队列的概念 106 
    3.7.2 优先队列的实现 107 
    小结 108 
    习题 108 
    第4章 数组、串和广义表 112 
    4.1 数组 112 
    4.1.1 一维数组 112 
    4.1.2 多维数组 114 
    4.2 特殊矩阵的压缩存储 116 
    4.2.1 对称矩阵的压缩存储 117 
    4.2.2 三对角矩阵的压缩存储 118 
    4.2.3 扩展阅读:w对角矩阵的压缩存储 119 
    4.3 稀疏矩阵 120 
    4.3.1 稀疏矩阵的概念 120 
    4.3.2 稀疏矩阵的顺序存储表示 121 
    4.3.3 稀疏矩阵的链表表示 124 
    4.4 字符串 125 
    4.4.1 字符串的概念 126 
    4.4.2 字符串的初始化和赋值 126 
    4.4.3 自定义字符串的存储表示 128 
    4.4.4 串的模式匹配 132 
    4.5 广义表 140 
    4.5.1 广义表的概念 140 
    4.5.2 广义表的性质 141 
    4.5.3 广义表的链接表示 141 
    4.5.4 扩展阅读:三元多项式的表示 147
查看详情
系列丛书 / 更多
数据结构(C语言版)(第2版)/清华大学计算机系列教材
计算机操作系统教程
张尧学、宋虹、张高 著
数据结构(C语言版)(第2版)/清华大学计算机系列教材
编译原理 第2版
张素琴 著
数据结构(C语言版)(第2版)/清华大学计算机系列教材
程序设计基础(第4版)
吴文虎、徐明星、邬晓钧 著
数据结构(C语言版)(第2版)/清华大学计算机系列教材
清华大学计算机系列教材:微型计算机技术及应用(第4版)
戴梅萼、史嘉权 编著
数据结构(C语言版)(第2版)/清华大学计算机系列教材
清华大学计算机系列教材:数据结构习题解析(第3版)
邓俊辉 著
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据结构习题解析(第2版)
殷人昆 著
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数字逻辑与数字集成电路
王尔乾、杨士强、巴林凤 著
数据结构(C语言版)(第2版)/清华大学计算机系列教材
计算机控制系统 第2版 /清华大学计算机系列教材
何克忠、李伟 著
数据结构(C语言版)(第2版)/清华大学计算机系列教材
清华大学计算机系列教材:下一代互联网与IPv6过渡
崔勇、吴建平 著
数据结构(C语言版)(第2版)/清华大学计算机系列教材
清华大学计算机系列教材:多媒体技术基础及应用(第3版)
钟玉琢、沈洪 编
数据结构(C语言版)(第2版)/清华大学计算机系列教材
智能卡技术:IC卡、RFID标签与物联网(第4版)/清华大学计算机系列教材
王爱英 编
数据结构(C语言版)(第2版)/清华大学计算机系列教材
清华大学计算机系列教材:数字逻辑实践教程
李山山、全成斌、田淑珍、刘敬晗 著
相关图书 / 更多
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据治理实践者手记
苏振中
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据要素化治理
陆志鹏、孟庆国、王钺
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据经济学(第二版)
汤珂、熊巧琴、李金璞、屈阳
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据中台:让数据用起来 第2版 付登坡 等
付登坡 江敏 赵东辉 等
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据资源管理 陈忆金 奉国和
陈忆金 奉国和
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据工程之道:设计和构建健壮的数据系统 [美]乔·里斯 [美]马特·豪斯利
[美]乔·里斯(Joe Reis),[美]马特·豪斯利(Matt Housley)
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据合规实务指引 法律实务 朱晓娟主编 新华正版
朱晓娟主编
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据法学前沿
武长海
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据合规与网络安全风险防范
冯洋
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据加密与PKI应用(微课版)
王秀英
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据库及其应用(2023年版) 全国高等教育自学考试指导委员会
全国高等教育自学考试指导委员会
数据结构(C语言版)(第2版)/清华大学计算机系列教材
数据治理驱动的数字化转型 王建峰 辛华
王建峰 辛华