注册 登录 进入教材巡展
#
  • #

出版时间:2023-09

最新印次日期:2023-9

出版社:中国铁道出版社

以下为《数据结构与算法基础》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 中国铁道出版社
  • 9787113303754
  • 1版
  • 502203
  • 60269817-7
  • 16开
  • 2023-09
  • 工学
  • 计算机类
  • 计算机类
  • 本科
作者简介
徐孝凯,男,国家开放大学教授(退休),主要承担数据结构、数据库、软件工程等多门课程的教学(包括主编、电视主讲、课堂面授等)工作。先后在清华大学等多家出版社策划组织编写过多套计算机本科教材,参与国家开放大学的计算机远程教育和多媒体教育等相关课题的研究工作,参与教育部考试中心有关等级考试课程和教育部全国高校计算机网络统一考试课程的试题库研究与建设工作。
查看全部
内容简介
本书是一部针对高等学校新工科计算机类专业的实用性教材,采用易于学习和使用的C语言来描述算法,并加以详细注释,重点知识配备了二维码视频讲解,可读性好、实用性强。对于不熟悉C语言而熟悉其他任何一种计算机语言的学习者来说,只要掌握了本书中详细介绍的数据结构及其运算方法,一样能够编写出相应语言的算法描述和上机程序。本书共分为10章,主要包括集合、线性表、栈和队列、树和二叉树、二叉树应用、图、图的应用、查找以及排序等内容。
本书适合作为普通高校计算机及相关专业“数据结构”课程的教材,也可供相关证书考试、考研或从事计算机应用与工程工作的科技工作者参考。
目录
1.1数据结构的有关概念2

1.2算法描述10

1.3算法评价11

思考与练习17

第2章集合22

2.1集合的定义和抽象数据类型23

2.2集合的顺序存储结构和操作实现24

2.2.1集合的顺序存储结构和存储类型定义24

2.2.2集合运算在顺序存储结构下的操作实现25

2.2.3对顺序集合进行各种运算的程序示例29

2.3集合的链式存储结构和操作实现30

2.3.1链式存储集合的有关概念30

2.3.2集合运算在链式存储结构下的操作实现32

2.3.3对链式存储集合进行各种运算的程序示例36

思考与练习38

第3章线性表42

3.1线性表的定义和抽象数据类型43

3.2线性表的顺序存储结构和操作实现44

3.3链式存储数据的概念和方法51

3.4线性表的每种运算在单链表上的操作实现55

思考与练习61

第4章栈和队列65

4.1栈的定义和抽象数据类型66

4.2栈的顺序存储结构和操作实现67

4.3栈的链式存储结构和操作实现70

4.4栈的简单应用举例72

4.5队列76

4.5.1队列的定义和抽象数据类型76

4.5.2队列的顺序存储结构和操作实现77

4.5.3队列的链式存储结构和操作实现80

4.5.4队列的应用简介83

4.6算术表达式的计算84

4.6.1算术表达式的两种表示84

4.6.2后缀表达式求值的算法85

4.6.3把中缀表达式转换为后缀表达式的算法87

4.7栈与递归90

4.7.1阶乘求解的递归算法91

4.7.2求解迷宫问题的递归算法92

4.7.3求解汉诺塔问题的递归算法96

思考与练习98

第5章树和二叉树103

5.1树的概念104

5.1.1树的定义104

5.1.2树的表示105

5.1.3树的基本术语106

5.1.4树的性质107

5.2二叉树108

5.2.1二叉树的定义108

5.2.2二叉树的性质108

5.2.3二叉树的抽象数据类型110

5.2.4二叉树的存储结构110

5.3二叉树遍历113

5.4二叉树其他运算115

5.5树的存储结构和运算122

5.5.1树的抽象数据类型122

5.5.2树的存储结构122

5.5.3树的运算123

思考与练习129

第6章二叉树应用134

6.1二叉搜索树135

6.1.1二叉搜索树的定义135

6.1.2二叉搜索树的抽象数据类型135

6.1.3二叉搜索树的运算136

6.1.4二叉搜索树运算的应用程序示例140

6.2堆142

6.2.1堆的定义142

6.2.2堆的抽象数据类型143

6.2.3堆的存储结构143

6.2.4堆的运算144

6.2.5堆运算的应用程序示例147

6.3哈夫曼树148

6.3.1基本术语148

6.3.2构造哈夫曼树149

6.3.3哈夫曼编码151

思考与练习154

第7章图157

7.1图的概念158

7.1.1图的定义158

7.1.2图的基本术语159

7.1.3图的抽象数据类型161

7.2图的存储结构161

7.2.1邻接矩阵162

7.2.2邻接表164

7.2.3边集数组166

7.3图的遍历168

7.3.1深度优先搜索遍历168

7.3.2广度优先搜索遍历171

7.3.3非连通图的遍历174

7.3.4图的遍历算法的上机调试174

7.4图的其他运算177

思考与练习189

第8章图的应用192

8.1图的生成树和最小生成树193

8.1.1生成树和最小生成树的概念193

8.1.2普里姆算法194

8.1.3克鲁斯卡尔算法198

8.2最短路径201

8.2.1最短路径的概念201

8.2.2从图中一顶点到其余各顶点的最短路径202

8.2.3图中每对顶点之间的最短路径207

8.3拓扑排序211

8.3.1拓扑排序的概念211

8.3.2拓扑排序算法212

8.4关键路径216

思考与练习222

第9章查找226

9.1查找的概念227

9.2顺序表查找228

9.2.1顺序查找228

9.2.2二分查找229

9.3索引查找233

9.3.1索引的概念233

9.3.2索引查找算法236

9.3.3分块查找238

9.4散列查找240

9.4.1散列的概念240

9.4.2散列函数241

9.4.3处理冲突的方法243

9.4.4散列表的运算246

9.5B树查找252

9.5.1B树定义252

9.5.2在B树上查找元素的过程254

9.5.3在B树上插入元素的过程255

9.5.4在B树上删除元素的过程257

思考与练习258

第10章排序262

10.1排序的基本概念263

10.2插入排序264

10.2.1直接插入排序264

10.2.2希尔排序265

10.3选择排序266

10.3.1直接选择排序266

10.3.2堆排序267

10.4交换排序271

10.4.1气泡排序271

10.4.2快速排序272

10.5归并排序276

10.6各种内排序方法的比较281

10.7外排序282

10.7.1外排序的有关概念282

10.7.2外排序算法284

10.7.3外排序应用程序运行示例287

思考与练习290