华信教育资源网
数据结构——基于C语言描述
丛   书   名: 新工科建设之路•计算机类精品系列教材
作   译   者:王志晓 出 版 日 期:2026-01-01
出   版   社:电子工业出版社 维   护   人:孟宇 
书   代   号:G0518470 I S B N:9787121518478

图书简介:

本书系统地介绍了数据结构的有关内容,主要包括线性表、栈、队列、串、数组、广义表、树、图等常用的数据逻辑结构和存储结构,以及各种数据结构的查找操作、排序操作。本书结构清晰、算法突出。在内容的组织上,本书强调知识的实用性,既注重理论的完整性,化繁为简,又将理论融入具体示例,化难为易,以达到准确、清楚地阐述相关概念和原理的目的。同时,本书注重各章知识阐述的条理性,书中的示例具有较强的实用性与连贯性,可以帮助读者全面、透彻地理解数据结构。本书所有的算法均采用C语言描述,并且已完成上机验证,各章还附有大量习题。本书既可以作为高等院校相关专业本科生及硕士研究生的专业教材或参考用书,也可以作为相关技术人员的自学用书。
定价 69.8
您的专属联系人更多
关注 评论(0) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源

    本书资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    本书系统地介绍了数据结构的有关内容,主要包括线性表、栈、队列、串、数组、广义表、树、图等常用的数据逻辑结构和存储结构,以及各种数据结构的查找操作、排序操作。本书结构清晰、算法突出。在内容的组织上,本书强调知识的实用性,既注重理论的完整性,化繁为简,又将理论融入具体示例,化难为易,以达到准确、清楚地阐述相关概念和原理的目的。同时,本书注重各章知识阐述的条理性,书中的示例具有较强的实用性与连贯性,可以帮助读者全面、透彻地理解数据结构。本书所有的算法均采用C语言描述,并且已完成上机验证,各章还附有大量习题。本书既可以作为高等院校相关专业本科生及硕士研究生的专业教材或参考用书,也可以作为相关技术人员的自学用书。

    图书详情

    ISBN:9787121518478
    开 本:16(185*260)
    页 数:292
    字 数:479

    本书目录

    第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
    习题1	8
    第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
    习题2	36
    
    第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
    习题3	65
    第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
    习题4	84
    第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
    习题5	109
    第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
    习题6	151
    第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
    习题7	198
    第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
    习题8	242
    
    第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
    习题9	281
    参考文献	286
    
    
    展开

    前     言

    如果把程序设计比作一棵树,则数据结构无疑是树的躯干,可以说程序设计的精髓就是数据结构。计算机各个领域的应用都要用到各种数据结构,只有扎实掌握数据结构知识,才能在程序设计中游刃有余,从而在计算机应用领域的研究和开发中胸有成竹。
    数据结构是计算机专业的一门核心课程,它是在长期的程序设计实践中提炼、升华而成的,又反过来应用于程序设计。数据结构同时是操作系统、编译原理等计算机核心课程的基础,在计算机专业课程的学习中起着承上启下的作用。数据结构是一门应用广泛且极具实用价值的课程,如果不掌握数据结构知识,就难以成为合格的软件工程师或计算机领域从业者。
    由于数据结构的原理和算法都比较抽象,并且数据结构具有概念性强、内容灵活、不易掌握和难度大等特点,因此学习起来比较困难。本书在内容的组织和编排上注重平衡内容的难易程度、理论的深度、应用的广度;在内容的讲解上注重条理性和连贯性,力求化繁为简、化难为易,引导读者从基本概念出发,理解数据结构的实质及相应算法的求解思路和实现方法,并由此深化对数据结构基本概念的理解,达到举一反三、培养分析问题和解决问题能力的目的。
    本书共9章,所有的算法均采用C语言描述。第1章简要介绍了数据结构的概念与算法基础;第2章介绍了线性表及其两种存储结构——顺序表和单链表的有关概念;第?3?章介绍了栈和队列的概念、特点及应用;第4章介绍了串的概念及其应用,特别是串的模式匹配的有关内容;第5章介绍了数组和广义表的有关概念及其应用;第6章介绍了树与二叉树的有关概念及其应用;第7章介绍了图的基本概念及其应用;第8章介绍了查找的基本概念,以及各种静态查找表和动态查找表的实现方法;第9章介绍了排序的基本概念,以及各种排序的方法和特点。需要注意的是,本书目录中章节序号前面的“*”表示该章节内容为选学内容。
    为了帮助读者正确理解数据结构的概念和相关内容,本书除使用大量具有针对性的示例以外,还通过图解的方式来解析数据结构中的算法和示例的实现过程。本书的另一个特点是各章习题的概念性强、覆盖面广、内容全面、具有典型性和代表性,这对加深各章知识的理解至关重要。习题中的算法设计题选材得当、针对性强,可以提高读者的动手能力,并培养良好的程序设计习惯。
    在本书中,编者设计了平衡二叉树算法,真正实现了无须改动二叉树的存储结构(不使用平衡因子)就可以对不平衡的子树进行调整。此外,编者还设计了基于二叉树节点存储结构的哈夫曼树生成算法和哈夫曼编码生成算法,并对许多常用的数据结构算法进行了完善和优化。书中的所有算法和涉及算法的示例都在VC++ 6.0环境下完成上机验证。另外,本书配套提供了电子教案等教学资源,对此有需要的读者可以登录华信教育资源网免费注册后下载。
    由于编者水平所限,书中难免存在疏漏与不足之处,敬请广大读者批评指正。
    编  者  
    2025年4月
    
    展开

    作者简介

    王志晓,男,副教授,硕士生导师,西安交通大学博士和博士后,德国哥廷根大学博士后研究员,IEEE会员、CCF会员。目前,主要从事大数据挖掘与理解和AI的相关研究及应用。现就职于西安理工大学计算机科学与工程学院,并任中国计算机学会大数据专委会委员,中国指挥与控制学会城市大脑专委会委员,中国指挥与控制学会城市大脑咨询委员会专家,甘肃庆阳市政府数字经济咨询专家,江苏无锡空天信息产业科技镇长团成员,陕西省计算机学会计算机体系结构与网络专委会副主任,中国电子学会物联网青年专技委通信委员,中国计算机学会计算机应用专委会委员,中国计算机学会物联网专委会委员,中国图象图形学会会员,中国应用数学学会会员,中国人工智能(AI)学会会员,陕西省计算机教育学会理事,省大学生计算机竞赛委员会委员。
  • 样 章 试 读
    本书暂无样章试读!
  • 图 书 评 价 我要评论
华信教育资源网