新書推薦:
《
SDGSAT-1卫星热红外影像图集
》
售價:HK$
445.8
《
股市趋势技术分析(原书第11版)
》
售價:HK$
221.8
《
汉匈战争全史
》
售價:HK$
99.7
《
恶的哲学研究(社会思想丛书)
》
售價:HK$
109.8
《
不止江湖
》
售價:HK$
98.6
《
天才留步!——从文艺复兴到新艺术运动(一本关于艺术天才的鲜活故事集,聚焦艺术史的高光时刻!)
》
售價:HK$
154.6
《
双城史
》
售價:HK$
110.9
《
冯友兰和青年谈心系列:不是问题的问题(哲学大师冯友兰和年轻人谈心,命运解读)
》
售價:HK$
55.8
內容簡介:
本书主要介绍几种经典数据结构和算法,按照“线性结构、树结构、图结构、集合结构”四大模块循序渐进地展开,涵盖全国硕士研究生招生考试计算机学科专业基础考试大纲的核心知识点。本书特色内容:闯关模块,以真题作为闯关任务,夯实理论基础;算法拓展模块,以经典算法作为拓展训练任务,提升实践能力;价值引领模块(见电子课件),将思政元素与基本概念、理论和实例相融合,沁润品格、提升素养;丰富的配套资源,登录华信教育资源网(www.hxedu.com.cn)注册后免费下载。本书将C++作为数据结构的算法描述语言,将数据结构与面向对象技术有机结合。书中的算法讲解都有完整的C++代码实现,并在Visual Studio 2010环境下编译通过。本书既可作为应用型、职业型高等院校计算机及相关专业的数据结构课程教材,也可作为考研、专升本考试等的参考书,还可作为工程技术人员的工具书。
關於作者:
冯广慧,2004年毕业于吉林大学获工学学士学位,2007年毕业于吉林大学研究生院获工学硕士学位,自2007年起一直从事于《算法与数据结构》课程的一线教学和考研辅导工作,对该课程有深入研究,参编《C语言程序设计教程》、《Access数据库程序设计真题考点分析与讲解》等多部著作。
目錄 :
第1章 概论11.1 什么是数据结构11.2 基本概念和术语41.3 算法和算法分析71.3.1 算法的定义及特性71.3.2 算法的设计要求81.3.3 算法效率的衡量方法91.3.4 算法的时间复杂度91.3.5 算法的空间复杂度151.4 抽象数据类型16习题118第2章 线性表192.1 线性表的类型定义192.1.1 线性表的概念192.1.2 线性表的抽象数据类型202.2 线性表的顺序表示和实现212.2.1 线性表的顺序表示212.2.2 顺序表基本运算的实现222.3 线性表的链式表示和实现262.3.1 线性表的链式表示272.3.2 单链表上基本运算的实现302.4 双链表372.5 循环链表412.6 线性表实现方法的比较432.7 算法拓展44习题248第3章 栈和队列513.1 栈513.1.1 栈的类型定义513.1.2 顺序栈的表示和实现533.1.3 链栈的表示和实现553.2 栈的应用举例573.2.1 十进制数转换为其他进制数573.2.2 表达式中括号的匹配检查583.2.3 表达式求值593.2.4 利用栈消除递归673.3 队列713.3.1 队列的类型定义713.3.2 循环队列—队列的顺序表示和实现733.3.3 链队列—队列的链式表示和实现763.4 算法拓展78习题381第4章 串834.1 串的基本概念834.2 串的表示和实现844.2.1 串的顺序存储结构844.2.2 串的链式存储结构874.3 串的模式匹配884.3.1 朴素的模式匹配算法884.3.2 KMP算法89习题494第5章 数组965.1 基本概念965.2 矩阵的压缩存储995.2.1 特殊矩阵995.2.2 稀疏矩阵1025.3 算法拓展109习题5112第6章 树和二叉树1156.1 树的概念1156.2 二叉树的概念和性质1176.2.1 二叉树的概念和抽象数据类型1176.2.2 二叉树的性质1196.3 二叉树的表示和实现1216.3.1 二叉树的存储结构1216.3.2 二叉树的遍历1236.3.3 二叉树的其他基本运算1306.4 树和森林1326.4.1 树的存储结构1336.4.2 树、森林和二叉树的相互转换1356.4.3 树和森林的遍历1386.4.4 树和森林的其他基本运算141*6.5 线索二叉树1436.6 算法拓展145习题6145第7章 树和二叉树的应用148*7.1 表达式树1487.2 哈夫曼树和哈夫曼编码1537.2.1 哈夫曼树1537.2.2 哈夫曼编码1577.3 堆和优先级队列1607.3.1 堆1607.3.2 优先级队列161*7.4 并查集1677.5 算法拓展169习题7171第8章 图1738.1 图的概念1738.2 图的存储结构1778.2.1 邻接矩阵1778.2.2 邻接表181*8.2.3 十字链表186*8.2.4 邻接多重表1878.3 图的遍历1878.3.1 深度优先遍历1878.3.2 广度优先遍历1908.3.3 图的连通分量和生成树1928.4 算法拓展193习题8194第9章 图的应用1979.1 最小生成树1979.1.1 最小生成树的概念1979.1.2 Prim算法1989.1.3 Kruskal算法2019.2 有向无环图及其应用2049.2.1 拓扑排序2059.2.2 关键路径2109.3 最短路径2169.3.1 单源点最短路径2169.3.2 每对顶点之间的最短路径2209.4 算法拓展223习题9224第10章 集合与查找22610.1 基本概念22610.2 静态查找表上的查找22710.2.1 顺序查找22710.2.2 折半查找22910.2.3 分块查找23310.3 动态查找表上的查找23410.3.1 二叉查找树23410.3.2 平衡二叉树241*10.3.3 B树254*10.3.4 B+树259*10.3.5 字典树26010.4 算法拓展261习题10264第11章 散列表26711.1 散列表的概念26711.2 构造散列函数的方法26811.2.1 直接定址法26811.2.2 折叠法26811.2.3 数字分析法26811.2.4 平方取中法26811.2.5 除留余数法26911.3 解决冲突的方法26911.3.1 闭散列法26911.3.2 开散列法27211.4 散列表的查找性能分析27211.5 散列表的实现27311.5.1 闭散列表的表示和实现27411.5.2 开散列表的表示和实现27811.5.3 闭散列表与开散列表的比较281习题11281第12章 排序28312.1 排序的基本概念28312.2 插入排序28412.2.1 直接插入排序28412.2.2 折半插入排序28512.2.3 希尔排序28512.3 交换排序28712.3.1 冒泡排序28712.3.2 快速排序28812.4 选择排序29212.4.1 直接选择排序29212.4.2 堆排序292*12.4.3 锦标赛排序29512.5 归并排序296*12.6 基数排序29812.7 各种内部排序算法的比较300*12.8 外部排序30312.8.1 置换选择排序30412.8.2 多路归并排序305习题12306附录A 情景项目309参考资料313