新書推薦:

《
黄宗羲传
》
售價:HK$
74.8

《
教育研究量表手册 21世纪教育科学系列教材
》
售價:HK$
97.9

《
真事隐:康熙废储与正史虚构
》
售價:HK$
85.8

《
工艺之美(席曼婷)
》
售價:HK$
97.9

《
揭秘煤气灯效应:心理操控的哲学透视
》
售價:HK$
60.5

《
走,去地下 探索地球内部的秘密【精装大本】
》
售價:HK$
96.8
![含混的哲思——梅洛-庞蒂·杨大春讲梅洛-庞蒂[修订本合集]](//img.megbook.hk/upload/mall/productImages/26/7/9787303310944.jpg)
《
含混的哲思——梅洛-庞蒂·杨大春讲梅洛-庞蒂[修订本合集]
》
售價:HK$
184.8

《
财务炼金术:AI时代从财务小白到超级个体的成长手册
》
售價:HK$
97.9
|
| 內容簡介: |
|
本书系统地介绍了数据结构的有关内容,主要包括线性表、栈、队列、串、数组、广义表、树、图等常用的数据逻辑结构和存储结构,以及各种数据结构的查找操作、排序操作。本书结构清晰、算法突出。在内容的组织上,本书强调知识的实用性,既注重理论的完整性,化繁为简,又将理论融入具体示例,化难为易,以达到准确、清楚地阐述相关概念和原理的目的。同时,本书注重各章知识阐述的条理性,书中的示例具有较强的实用性与连贯性,可以帮助读者全面、透彻地理解数据结构。本书所有的算法均采用C语言描述,并且已完成上机验证,各章还附有大量习题。本书既可以作为高等院校相关专业本科生及硕士研究生的专业教材或参考用书,也可以作为相关技术人员的自学用书。
|
| 關於作者: |
|
王志晓,男,副教授,硕士生导师,西安交通大学博士和博士后,德国哥廷根大学博士后研究员,IEEE会员、CCF会员。目前,主要从事大数据挖掘与理解和AI的相关研究及应用。现就职于西安理工大学计算机科学与工程学院,并任中国计算机学会大数据专委会委员,中国指挥与控制学会城市大脑专委会委员,中国指挥与控制学会城市大脑咨询委员会专家,甘肃庆阳市政府数字经济咨询专家,江苏无锡空天信息产业科技镇长团成员,陕西省计算机学会计算机体系结构与网络专委会副主任,中国电子学会物联网青年专技委通信委员,中国计算机学会计算机应用专委会委员,中国计算机学会物联网专委会委员,中国图象图形学会会员,中国应用数学学会会员,中国人工智能(AI)学会会员,陕西省计算机教育学会理事,省大学生计算机竞赛委员会委员。
|
| 目錄:
|
第1章 绪论1 1.1 数据结构的概念2 1.1.1 数据与数据元素2 1.1.2 数据结构3 1.2 逻辑结构与存储结构3 1.2.1 逻辑结构3 1.2.2 存储结构4 1.3 算法与算法分析5 1.3.1 算法的定义与描述6 1.3.2 算法分析与复杂度计算6 习题18 第2章 线性表11 2.1 线性表及其逻辑结构11 2.1.1 线性表的定义11 2.1.2 线性表的基本运算12 2.2 线性表的顺序存储结构及运算 实现12 2.2.1 顺序表12 2.2.2 顺序表的基本运算的实现14 2.3 线性表的链式存储结构及运算 实现20 2.3.1 单链表20 2.3.2 单链表的基本运算的实现22 2.3.3 循环链表27 2.3.4 双向链表29 2.3.5 静态链表31 2.3.6 单链表应用示例33 习题236 第3章 栈和队列39 3.1 栈39 3.1.1 栈的定义及基本运算39 3.1.2 栈的存储结构与运算实现40 *3.2 栈与递归45 3.2.1 递归及其实现45 3.2.2 递归调用过程分析46 3.3 队列49 3.3.1 队列的定义及基本运算49 3.3.2 队列的存储结构与运算实现50 *3.4 递归转换为非递归的研究56 3.4.1 汉诺塔问题的递归解法56 3.4.2 汉诺塔问题的非递归解法59 3.4.3 八皇后问题的递归解法61 3.4.4 八皇后问题的非递归解法63 习题365 第4章 串69 4.1 串的概念及基本运算69 4.1.1 串的基本概念69 4.1.2 串的基本运算70 4.2 串的顺序存储结构及基本运算71 4.2.1 串的顺序存储结构71 4.2.2 顺序串的基本运算72 4.3 串的链式存储结构及基本运算74 4.3.1 串的链式存储结构74 4.3.2 链串的基本运算74 4.4 串的模式匹配77 4.4.1 简单模式匹配77
4.4.2 无回溯的KMP匹配78 *4.4.3 next函数(数组)的改进83 习题484 第5章 数组与广义表87 5.1 数组的概念与存储结构87 5.1.1 数组的基本概念87 5.1.2 数组的存储结构88 5.2 特殊矩阵的压缩存储90 5.2.1 对称矩阵91 5.2.2 三角矩阵92 5.2.3 对角矩阵93 5.3 稀疏矩阵93 5.3.1 稀疏矩阵的三元组表示94 5.3.2 稀疏矩阵的十字链表表示98 5.4 广义表101 5.4.1 广义表的基本概念101 5.4.2 广义表的存储结构102 5.4.3 广义表的基本操作实现 算法106 习题5109 第6章 树与二叉树114 6.1 树的基本概念114 6.1.1 树的概念与定义114 6.1.2 树的基本术语115 6.2 二叉树116 6.2.1 二叉树的定义116 6.2.2 二叉树的性质117 6.2.3 二叉树的存储结构119 6.3 二叉树的遍历121 6.3.1 二叉树的遍历方法121 6.3.2 遍历二叉树的递归算法及遍历 示例122 6.3.3 遍历二叉树的非递归算法125 6.3.4 二叉树的层次遍历算法129 6.3.5 由遍历序列恢复二叉树129 6.3.6 二叉树遍历的应用132 6.4 线索二叉树134 6.4.1 线索二叉树的定义及结构134 6.4.2 线索化二叉树136 6.4.3 访问线索二叉树138 6.5 哈夫曼树140 6.5.1 哈夫曼树的基本概念及构造 方法140 6.5.2 哈夫曼算法的实现142 6.5.3 哈夫曼编码144 6.6 树和森林146 6.6.1 树的定义与存储结构146 6.6.2 树、森林与二叉树之间的 转换148 6.6.3 树和森林的遍历150 习题6151 第7章 图157 7.1 图的基本概念157 7.1.1 图的定义157 7.1.2 图的基本术语158 7.2 图的存储结构160 7.2.1 邻接矩阵160 7.2.2 邻接表162 *7.2.3 有向图的十字链表存储 方法164 *7.2.4 无向图的邻接多重表存储 方法165 7.3 图的遍历166 7.3.1 深度优先搜索167 7.3.2 广度优先搜索170 7.3.3 图的连通性问题172 7.4 生成树与最小生成树173 7.4.1 生成树与生成森林173 7.4.2 最小生成树与构造最小生成树的Prim算法175 7.4.3 构造最小生成树的Kruskal 算法179 7.5 最短路径182 7.5.1 从一个源点到其他各个顶点之间的最短路径182 7.5.2 每对顶点之间的最短路径186 7.6 拓扑排序与关键路径188 7.6.1 AOV网与拓扑排序188 7.6.2 AOE网与关键路径193 习题7198 第8章 查找206 8.1 查找的基本概念206 8.2 静态查找表207 8.2.1 顺序查找207 8.2.2 有序表的查找208 8.3 树表形式的动态查找表213 8.3.1 二叉排序树213 8.3.2 平衡二叉树220 8.3.3 B树与B+树226 8.4 地址映射方式下的动态查找表―― 哈希表233 8.4.1 哈希表与哈希表查找方法233 8.4.2 构造哈希函数的方法234 8.4.3 处理冲突的方法236 8.4.4 哈希表的查找239 习题8242 第9章 排序248 9.1 排序的基本概念248 9.2 插入排序249 9.2.1 直接插入排序249 9.2.2 折半插入排序251 9.2.3 希尔排序252 9.3 交换排序254 9.3.1 冒泡排序254 9.3.2 快速排序256 9.4 选择排序259 9.4.1 直接选择排序259 9.4.2 堆排序262 9.5 归并排序266 9.6 基数排序271 9.6.1 多关键字排序271 9.6.2 链式基数排序272 *9.7 外排序简介275 9.8 内排序方法讨论278 9.8.1 提高排序效率的方法278 9.8.2 各种内排序方法的比较278 习题9281 参考文献286
|
|