数据结构与算法:C语言版

数据结构与算法:C语言版
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2016-08
版次: 1
ISBN: 9787302440680
定价: 45.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 366页
字数: 565千字
正文语种: 简体中文
137人买过
  •   本书以C语言为基础讲解数据结构与算法。全书共11章,全面介绍了开发中常用的数据结构,包括线性表(顺序表、单链表、双链表、循环链表)、栈和队列、串、数组和广义表、树、图,详细讲解了各种数据结构的实现及常用操作,以及多种查找算法、内部排序算法的原理和实现,简要介绍了文件的相关知识,最后通过一个综合项目对书中介绍的知识进行整合应用,帮助读者了解实际项目开发的流程。  本书对每种数据结构和算法的剖析都遵循由浅入深的原则,并配以实用的案例和图示,适合具有C语言基础的数据结构初学者,实用性强。本书可作为高等院校计算机相关专业数据结构课程的教学参考用书,也可作为培训教材和自学者的学习用书。
    第1章数据结构与算法概述1 1.1数据结构1 1.1.1什么是数据结构1 1.1.2数据结构的分类2 1.2抽象数据类型6 1.3算法7 1.3.1什么是算法7 1.3.2算法的特性9 1.3.3算法的复杂度10 1.3.4算法与数据结构12 1.4小结12 【思考题】12 第2章线性表13 2.1什么是线性表13 2.2线性表的顺序存储(顺序表)14 2.2.1顺序存储的原理14 2.2.2顺序存储的实现15 2.3线性表的链式存储(链表)23 2.3.1链式存储的原理23 2.3.2链式存储的实现24 2.4双链表31 2.4.1什么是双链表32 2.4.2双链表的实现32 2.5循环链表39 2.5.1什么是循环链表39 2.5.2循环链表的实现40 2.5.3约瑟夫环43 2.6本章小结48 【思考题】49目录数据结构与算法——C语言版第3章栈和队列50 3.1什么是栈50 3.2栈的实现51 3.2.1栈的顺序存储实现51 3.2.2栈的链式存储实现56 3.3栈的应用60 3.3.1用栈实现四则运算60 3.3.2栈的递归应用72 3.4什么是队列75 3.5队列的实现75 3.5.1顺序队列的实现76 3.5.2链式队列的实现80 3.5.3循环队列84 3.6本章小结86 【思考题】87 第4章串88 4.1什么是串88 4.2串的存储结构89 4.2.1串的顺序存储89 4.2.2串的链式存储97 4.3串的模式匹配算法98 4.3.1朴素的模式匹配98 4.3.2KMP算法(无回溯的模式匹配)101 4.4本章小结105 【思考题】105 第5章数组和广义表106 5.1数组106 5.2矩阵的压缩存储109 5.2.1特殊矩阵109 5.2.2稀疏矩阵的定义110 5.2.3稀疏矩阵的创建112 5.2.4稀疏矩阵的转置114 5.2.5稀疏矩阵的十字链表表示118 5.3广义表123 5.3.1广义表的定义123 5.3.2广义表的存储结构124 5.3.3广义表的递归运算125 5.4本章小结132 【思考题】132 第6章树133 6.1树133 6.1.1什么是树133 6.1.2树的表示法135 6.2二叉树138 6.2.1什么是二叉树138 6.2.2二叉树的分类138 6.2.3二叉树的性质139 6.3二叉树的存储结构141 6.3.1二叉树的顺序存储141 6.3.2二叉树的链式存储143 6.4二叉树的遍历147 6.4.1二叉树的遍历147 6.4.2递归思想的应用151 6.5二叉树的非递归遍历154 6.6二叉树与树、森林之间的转换162 6.6.1二叉树与树之间的转换162 6.6.2二叉树与森林之间的转换162 6.7二叉树的创建164 6.7.1中序和先序创建二叉树164 6.7.2#号法创建树166 6.8线索二叉树169 6.8.1什么是线索二叉树169 6.8.2二叉树的线索化171 6.8.3线索化二叉树的遍历175 6.9赫夫曼树177 6.9.1什么是赫夫曼树177 6.9.2赫夫曼树的构造178 6.9.3赫夫曼编码179 6.10本章小结180 【思考题】181 第7章图182 7.1图的基本概念182 7.1.1图的定义与基本术语182 7.1.2图的基本操作185 7.2图的存储结构186 7.2.1图的邻接矩阵存储187 7.2.2图的邻接表存储189 7.2.3图的十字链表存储192 7.2.4图的邻接多重表存储194 7.3图的遍历196 7.3.1深度优先遍历196 7.3.2广度优先遍历198 7.4最小生成树201 7.4.1什么是最小生成树201 7.4.2Prim算法203 7.4.3Kruskal算法207 7.5最短路径210 7.5.1从源点到其他顶点的最短路径211 7.5.2每对顶点的最短路径216 7.6拓扑排序219 7.7关键路径224 7.8本章小结229 【思考题】230 第8章查找231 8.1查找概述231 8.2顺序表的查找232 8.3有序表的查找233 8.3.1折半查找233 8.3.2插值查找235 8.3.3斐波纳契查找235 8.4索引顺序查找239 8.5二叉排序树241 8.6平衡二叉树246 8.6.1平衡二叉树的概念246 8.6.2平衡二叉树的插入247 8.6.3平衡二叉树的删除252 8.7B树254 8.7.1B树的概念254 8.7.2B树的插入256 8.7.3B树的删除258 8.8键树261 8.9哈希表265 8.9.1什么是哈希表265 8.9.2哈希函数的构造方法267 8.9.3处理哈希冲突269 8.9.4哈希表的查找实现273 8.10本章小结275 【思考题】275 第9章内部排序276 9.1排序的概念与分类276 9.2交换排序278 9.2.1冒泡排序279 9.2.2快速排序283 9.3插入排序286 9.3.1直接插入排序286 9.3.2折半插入排序289 9.3.3希尔排序290 9.4选择排序294 9.4.1简单选择排序294 9.4.2树形选择排序296 9.4.3堆排序298 9.5归并排序303 9.6基数排序307 9.6.1基数排序基础307 9.6.2链式基数排序310 9.7内部排序方法比较314 9.8磁盘排序315 9.8.1外部存储设备315 9.8.2磁盘排序分析317 9.8.3置换选择排序319 9.8.4多路平衡归并321 9.8.5最佳归并树324 9.9本章小结325 【思考题】326 第10章文件327 10.1文件概述327 10.2顺序文件和索引文件328 10.2.1顺序文件328 10.2.2索引文件329 10.3ISAM文件和VSAM文件331 10.3.1ISAM文件331 10.3.2VSAM文件334 10.4哈希文件336 10.5多关键字文件337 10.5.1多重表文件337 10.5.2倒排文件338 10.6本章小结339 【思考题】339 第11章综合项目——贪吃蛇340 11.1项目分析340 11.1.1模块设计340 11.1.2模块描述342 11.1.3项目分析345 11.2项目实现346 11.2.1创建项目346 11.2.2项目设计346 11.2.3项目实现349 11.2.4主函数实现360 11.2.5效果展示364 11.3项目心得365 【思考题】366 
  • 内容简介:
      本书以C语言为基础讲解数据结构与算法。全书共11章,全面介绍了开发中常用的数据结构,包括线性表(顺序表、单链表、双链表、循环链表)、栈和队列、串、数组和广义表、树、图,详细讲解了各种数据结构的实现及常用操作,以及多种查找算法、内部排序算法的原理和实现,简要介绍了文件的相关知识,最后通过一个综合项目对书中介绍的知识进行整合应用,帮助读者了解实际项目开发的流程。  本书对每种数据结构和算法的剖析都遵循由浅入深的原则,并配以实用的案例和图示,适合具有C语言基础的数据结构初学者,实用性强。本书可作为高等院校计算机相关专业数据结构课程的教学参考用书,也可作为培训教材和自学者的学习用书。
  • 目录:
    第1章数据结构与算法概述1 1.1数据结构1 1.1.1什么是数据结构1 1.1.2数据结构的分类2 1.2抽象数据类型6 1.3算法7 1.3.1什么是算法7 1.3.2算法的特性9 1.3.3算法的复杂度10 1.3.4算法与数据结构12 1.4小结12 【思考题】12 第2章线性表13 2.1什么是线性表13 2.2线性表的顺序存储(顺序表)14 2.2.1顺序存储的原理14 2.2.2顺序存储的实现15 2.3线性表的链式存储(链表)23 2.3.1链式存储的原理23 2.3.2链式存储的实现24 2.4双链表31 2.4.1什么是双链表32 2.4.2双链表的实现32 2.5循环链表39 2.5.1什么是循环链表39 2.5.2循环链表的实现40 2.5.3约瑟夫环43 2.6本章小结48 【思考题】49目录数据结构与算法——C语言版第3章栈和队列50 3.1什么是栈50 3.2栈的实现51 3.2.1栈的顺序存储实现51 3.2.2栈的链式存储实现56 3.3栈的应用60 3.3.1用栈实现四则运算60 3.3.2栈的递归应用72 3.4什么是队列75 3.5队列的实现75 3.5.1顺序队列的实现76 3.5.2链式队列的实现80 3.5.3循环队列84 3.6本章小结86 【思考题】87 第4章串88 4.1什么是串88 4.2串的存储结构89 4.2.1串的顺序存储89 4.2.2串的链式存储97 4.3串的模式匹配算法98 4.3.1朴素的模式匹配98 4.3.2KMP算法(无回溯的模式匹配)101 4.4本章小结105 【思考题】105 第5章数组和广义表106 5.1数组106 5.2矩阵的压缩存储109 5.2.1特殊矩阵109 5.2.2稀疏矩阵的定义110 5.2.3稀疏矩阵的创建112 5.2.4稀疏矩阵的转置114 5.2.5稀疏矩阵的十字链表表示118 5.3广义表123 5.3.1广义表的定义123 5.3.2广义表的存储结构124 5.3.3广义表的递归运算125 5.4本章小结132 【思考题】132 第6章树133 6.1树133 6.1.1什么是树133 6.1.2树的表示法135 6.2二叉树138 6.2.1什么是二叉树138 6.2.2二叉树的分类138 6.2.3二叉树的性质139 6.3二叉树的存储结构141 6.3.1二叉树的顺序存储141 6.3.2二叉树的链式存储143 6.4二叉树的遍历147 6.4.1二叉树的遍历147 6.4.2递归思想的应用151 6.5二叉树的非递归遍历154 6.6二叉树与树、森林之间的转换162 6.6.1二叉树与树之间的转换162 6.6.2二叉树与森林之间的转换162 6.7二叉树的创建164 6.7.1中序和先序创建二叉树164 6.7.2#号法创建树166 6.8线索二叉树169 6.8.1什么是线索二叉树169 6.8.2二叉树的线索化171 6.8.3线索化二叉树的遍历175 6.9赫夫曼树177 6.9.1什么是赫夫曼树177 6.9.2赫夫曼树的构造178 6.9.3赫夫曼编码179 6.10本章小结180 【思考题】181 第7章图182 7.1图的基本概念182 7.1.1图的定义与基本术语182 7.1.2图的基本操作185 7.2图的存储结构186 7.2.1图的邻接矩阵存储187 7.2.2图的邻接表存储189 7.2.3图的十字链表存储192 7.2.4图的邻接多重表存储194 7.3图的遍历196 7.3.1深度优先遍历196 7.3.2广度优先遍历198 7.4最小生成树201 7.4.1什么是最小生成树201 7.4.2Prim算法203 7.4.3Kruskal算法207 7.5最短路径210 7.5.1从源点到其他顶点的最短路径211 7.5.2每对顶点的最短路径216 7.6拓扑排序219 7.7关键路径224 7.8本章小结229 【思考题】230 第8章查找231 8.1查找概述231 8.2顺序表的查找232 8.3有序表的查找233 8.3.1折半查找233 8.3.2插值查找235 8.3.3斐波纳契查找235 8.4索引顺序查找239 8.5二叉排序树241 8.6平衡二叉树246 8.6.1平衡二叉树的概念246 8.6.2平衡二叉树的插入247 8.6.3平衡二叉树的删除252 8.7B树254 8.7.1B树的概念254 8.7.2B树的插入256 8.7.3B树的删除258 8.8键树261 8.9哈希表265 8.9.1什么是哈希表265 8.9.2哈希函数的构造方法267 8.9.3处理哈希冲突269 8.9.4哈希表的查找实现273 8.10本章小结275 【思考题】275 第9章内部排序276 9.1排序的概念与分类276 9.2交换排序278 9.2.1冒泡排序279 9.2.2快速排序283 9.3插入排序286 9.3.1直接插入排序286 9.3.2折半插入排序289 9.3.3希尔排序290 9.4选择排序294 9.4.1简单选择排序294 9.4.2树形选择排序296 9.4.3堆排序298 9.5归并排序303 9.6基数排序307 9.6.1基数排序基础307 9.6.2链式基数排序310 9.7内部排序方法比较314 9.8磁盘排序315 9.8.1外部存储设备315 9.8.2磁盘排序分析317 9.8.3置换选择排序319 9.8.4多路平衡归并321 9.8.5最佳归并树324 9.9本章小结325 【思考题】326 第10章文件327 10.1文件概述327 10.2顺序文件和索引文件328 10.2.1顺序文件328 10.2.2索引文件329 10.3ISAM文件和VSAM文件331 10.3.1ISAM文件331 10.3.2VSAM文件334 10.4哈希文件336 10.5多关键字文件337 10.5.1多重表文件337 10.5.2倒排文件338 10.6本章小结339 【思考题】339 第11章综合项目——贪吃蛇340 11.1项目分析340 11.1.1模块设计340 11.1.2模块描述342 11.1.3项目分析345 11.2项目实现346 11.2.1创建项目346 11.2.2项目设计346 11.2.3项目实现349 11.2.4主函数实现360 11.2.5效果展示364 11.3项目心得365 【思考题】366 
查看详情
相关图书 / 更多
数据结构与算法:C语言版
数据中心经营之道 唐汝林 等
唐汝林 等
数据结构与算法:C语言版
数据管理十讲 袁野 崔斌 李战怀 等
袁野 崔斌 李战怀 等
数据结构与算法:C语言版
数据要素教程
杨东 白银 著
数据结构与算法:C语言版
数据驱动式教学:如何科学、有效、系统地提高学生成绩(深度剖析教学数据,助力教学决策,实时洞察学习动态,精准教学)
(美)罗伯特·J. 马扎诺,菲利普·B. 沃里克,卡梅伦·L. 雷恩斯 ,理查德·杜富尔著,张庆彬译; 中青文 出品
数据结构与算法:C语言版
数据确权的理论基础探索
彭诚信、史晓宇 著
数据结构与算法:C语言版
数据经济学
赵昌文,戎珂
数据结构与算法:C语言版
数据库原理与实践(MySQL版)()
杨俊杰,刘忠艳主编
数据结构与算法:C语言版
数据挖掘竞赛实战:方法与案例
许可乐
数据结构与算法:C语言版
数据要素估值
刘赛红、吕颖毅、王连军
数据结构与算法:C语言版
数据驱动的物流选址与调度模型及其实践
木仁 徐志强
数据结构与算法:C语言版
数据与人工智能驱动型公司:用数据和人工智能升级企业
(西) 理查德·本杰明(Richard Benjamins)
数据结构与算法:C语言版
数据库管理系统原理与实现
杜小勇、陈红、卢卫
您可能感兴趣 / 更多
数据结构与算法:C语言版
Swift项目开发基础教程
传智播客 著
数据结构与算法:C语言版
PHP+MySQL网站开发项目式教程
传智播客 著
数据结构与算法:C语言版
Photoshop CS6图像处理案例教程
传智播客高教产品研发部 编
数据结构与算法:C语言版
iOS开发项目化经典教程
传智播客高教产品研发部 著
数据结构与算法:C语言版
SSH框架整合实战教程
传智播客高教产品研发部 著
数据结构与算法:C语言版
ASP.NET就业实例教程
传智播客高教产品研发部 编
数据结构与算法:C语言版
Java Web程序开发进阶
传智播客高教产品研发部 著
数据结构与算法:C语言版
Objective-C入门教程/工业和信息化人才培养规划教材
传智播客高教产品研发部 编
数据结构与算法:C语言版
Photoshop CS6图像设计案例教程/“十二五”高等教育规划教材
传智播客高教产品研发部 编
数据结构与算法:C语言版
一站式IT就业培训系列教材:C#程序设计基础入门教程
传智播客高教产品研发部 编
数据结构与算法:C语言版
C语言开发入门教程
传智播客高教产品研发部 编
数据结构与算法:C语言版
PHP程序设计基础教程/一站式IT就业培训系列教程
传智播客高教产品研发部 编