注册 登录 进入教材巡展 进入在线书城
#
  • #

出版时间:2018年9月

出版社:清华大学出版社

以下为《数据结构(C语言版)(第3版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 清华大学出版社
  • 9787302501824
  • 3-1
  • 226941
  • 47191084-4
  • 平装
  • 2018年9月
  • 工学
  • 计算机科学与技术
  • TP311.12
  • 计算机
  • 本科
内容简介
本书是为“数据结构”课程编写的教材,也可以作为学习数据结构及其算法的C语言程序设计的参考书。书中系统介绍各种常用的数据结构及它们的存储表示,讨论了基于这些数据结构的基本操作和实际的执行算法,并阐述了各种常用数据结构内涵的逻辑关系。全书共分为9章。第1章为概论,引入数据结构与算法的一些基本概念,是全书的综述; 第2~7章分别介绍线性表、栈、队列、串、多维数组、广义表、树、二叉树和图等几种基本的数据结构; 第8章和第9章分别介绍查找和排序,它们都是数据处理时广泛使用的技术。书中既体现了抽象数据类型的观点,又对每个算法的具体实现给出了完整的C语言源代码描述。本书的特色是深入浅出,既注重理论又重视实践,使用算法设计实例的教学方式来组织内容,重点明确、结构合理。全书配有大量的例题和详尽的注释,各章都有小结和不同类型的习题。书中自始至终使用C语言来描述算法和数据结构,全部程序都在CFree 3.5或Visual C 6.0中调试通过。本书可作为普通高等学校计算机及相关专业本科生的教材,也可作为专科和成人教育的教材,还可供从事计算机应用的科技人员参考。与本书配套的《数据结构实验教程(C语言版)》也将由清华大学出版社出版。
目录
目录第1章概论1.1什么是数据结构1.1.1数据和数据元素1.1.2数据类型与数据对象1.1.3数据结构1.2为什么要学习数据结构1.2.1学习数据结构的重要性1.2.2数据结构的应用举例1.3算法和算法分析1.3.1算法的概念1.3.2算法的描述和设计1.3.3算法分析本章小结习题1第2章线性表2.1线性表的基本概念2.1.1线性表的定义2.1.2线性表的基本操作2.2线性表的顺序存储2.2.1顺序表2.2.2顺序表的基本操作2.2.3一个完整的例子(1)2.3线性表的链式存储2.3.1单链表的基本概念2.3.2单链表的基本操作2.3.3一个完整的例子(2)2.3.4循环链表2.3.5双向链表2.3.6双向循环链表2.3.7静态链表2.4线性表顺序存储与链式存储的比较2.5线性表的应用2.5.1约瑟夫问题2.5.2多项式加法2.5.3电文加密本章小结习题2第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利用一个顺序栈逆置一个带头结点的单链表3.3队列3.3.1队列的定义与基本操作3.3.2链队列的存储结构和操作的实现3.3.3顺序队列的存储结构和操作的实现3.4队列的应用3.4.1打印杨辉三角形3.4.2迷宫问题: 寻找一条从迷宫入口到出口的最短路径3.5递归3.5.1递归的定义与实现3.5.2递归消除本章小结习题3第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基本的模式匹配算法4.3.2模式匹配的改进算法——KMP算法本章小结习题4第5章多维数组和广义表5.1多维数组5.1.1多维数组的定义5.1.2数组的存储结构5.2矩阵的压缩存储5.2.1特殊矩阵5.2.2稀疏矩阵5.3广义表本章小结习题5第6章树和二叉树6.1树的概念与基本操作6.1.1树的定义6.1.2树的一些基本概念6.1.3树的基本操作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.4.3树和森林的遍历6.5哈夫曼树及其应用6.5.1与哈夫曼树相关的基本概念6.5.2哈夫曼树的应用6.5.3哈夫曼编码算法的实现*6.6树的计数本章小结习题6第7章图7.1基本概念7.1.1图的定义7.1.2图的相关术语7.2图的存储结构7.2.1邻接矩阵表示法7.2.2邻接表表示法7.3图的遍历7.3.1深度优先搜索法7.3.2广度优先搜索法7.3.3非连通图的遍历7.4生成树与最小生成树7.4.1生成树的概念7.4.2构造最小生成树的普里姆算法7.4.3构造最小生成树的克鲁斯卡尔算法7.5最短路径7.5.1从某个源点到其余各顶点的最短路径7.5.2每一对顶点之间的最短路径7.6拓扑排序7.7关键路径本章小结习题7第8章查找8.1查找的基本概念8.2线性表的查找8.2.1顺序查找8.2.2二分查找8.2.3分块查找8.3树表的查找8.3.1二叉排序树*8.3.2B-树*8.3.3B-树上的基本运算8.4散列表的查找8.4.1散列表的概念8.4.2散列函数的构造方法8.4.3处理冲突的方法8.4.4散列表上的运算本章小结习题8第9章排序9.1排序的基本概念9.1.1关键字与排序9.1.2排序的稳定性9.1.3排序方法的分类9.1.4排序算法性能评价9.1.5不同存储方式的排序过程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.6基数排序9.6.1多关键字的排序9.6.2链式基数排序9.7内部排序算法比较9.8外部排序简介本章小结习题9参考文献