数据结构算法--Visual C++ 6.0程序集

-
【作 者】侯识忠 等编著
【I S B N 】978-7-5084-2956-7
【责任编辑】孙春亮
【适用读者群】本科
【出版时间】2005-05-01
【开 本】16开本
【装帧信息】平装(光膜)
【版 次】第1版
【页 数】
【千字数】
【印 张】
【定 价】¥45
【丛 书】暂无分类
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书收集了当前国内几本比较流行的数据结构算法书中的算法,在Visual C++6.0平台上将其编写成可以直接运行的程序。对有些算法,还给出了多种程序设计方案实现,以迅速提高程序员的算法与程序设计能力。
本书遵循数据结构算法书中的体系,将全书分为九章对应之,以便阅读。它们是:顺序存储结构的表、堆栈和队列,链式存储结构的表、堆栈和队列,数组、串和广义表,递归,树和二叉树,图,排序,查找,文件。本书的光盘中含有108个完整的程序源代码、可执行文件。
本书适合于想要通过编程实例学习数据结构的C++程序员,也可以作为高校师生学习计算机编程与数据结构的参考书,尤其适合报考计算机软件专业研究生的人员与参加信息奥赛班学习的人员参考。
本书配有PowerPoint制作的电子教案,教师可以根据情况任意修改,如有需要,可从中国水利水电出版社网站(http://www.waterpub.com.cn/softdown/)下载
计算机专业和其他与计算机技术关系密切的许多专业课程都与数据结构这门课程有着紧密联系,这些课程的学习效果如何,与数据结构息息相关。
本人多年从事计算机语言课程的教学工作,如何让学生尽快学会、熟练掌握计算机编程,需要进行大量的工作,并提供一定的方法。仅仅让学生了解、掌握计算机语言是不够的,还必须掌握数据组织、存储和运算的一般方法,掌握一定的算法。然而,相当多的数据结构教材给出的算法一是抽象,二是不能直接用于上机操作,学生掌握起来有一定困难。
基于此,作者编写了这本《数据结构算法—Visual C++ 6.0程序集》。编写本程序集的目的有二,一是让学习数据结构的读者更容易掌握其中的算法;二是让学习计算机语言编程的读者尽快学会、熟练掌握数据结构的相关算法,迅速提高编程能力。
本书对数据结构问题的描述具有相对独立性,每一个程序都完整地包含了该数据结构问题的各种算法。本书采用C++语言描述具体的数据结构问题,所有程序都用C++Builder 6.0调试通过,并输出程序运行结果。
本书第1章至第6章、第8章由侯识忠同志编写,第7章、第9章由侯凌翀同志编写,杜正宽、杜希平、杜琨同志做了大部分程序校对与录入工作,最后由侯识忠同志统稿。
本书的108个完整的可执行程序、源代码都收录在随书光盘中,光盘中的应用程序除5个之外,其余的都可在光盘中直接执行,也可将光盘中的程序拷贝到硬盘D的子目录中运行。
本书适合于想要通过编程实例学习数据结构的C++程序员,也可以作为高校师生学习计算机编程与数据结构的参考书,尤其适合报考计算机软件专业研究生的人员与参加信息奥赛班学习的人员参考。
侯识忠 湖南师范大学数学与计算机科学学院
侯凌翀 湖南省电信有限公司长沙市分公司
2005年3月
第1章 顺序存储结构的表、堆栈和队列 1
1.1 线性表的数组表示和实现 1
1.1.1 程序构思 1
1.1.2 线性表的类定义linelist1.h 1
1.1.3 线性表的实现linelist1.cpp 2
1.1.4 线性表的测试linelist1m.cpp 5
1.1.5 linelist1m.cpp运行结果 7
1.1.6 分析 8
1.2 线性表的动态分配顺序表示和实现 8
1.2.1 程序构思 8
1.2.2 线性表的类定义linelist2.h 9
1.2.3 线性表的实现linelist2.cpp 10
1.2.4 线性表的测试linelist2m.cpp 13
1.2.5 linelist2m.cpp运行结果 15
1.2.6 分析 16
1.3 顺序堆栈的类定义(动态分配)和实现 16
1.3.1 程序构思 16
1.3.2 顺序栈的类定义stack1.h 16
1.3.3 顺序栈的实现stack1.cpp 17
1.3.4 顺序栈的测试stack1M.cpp 18
1.3.5 stack1M.cpp运行结果 19
1.4 顺序堆栈的类定义(动态分配)和实现 20
1.4.1 程序构思 20
1.4.2 顺序栈的类定义stack.h 20
1.4.3 顺序栈的实现stack.cpp 21
1.4.4 顺序栈的测试stackmain.cpp 21
1.4.5 stackmain.cpp运行结果 23
1.5 顺序堆栈的类定义(数组表示)和实现 23
1.5.1 程序构思 23
1.5.2 顺序堆栈的类定义linearStack1.h 23
1.5.3 顺序堆栈的实现linearStack1.cpp 24
1.5.4 顺序堆栈的测试linearStack1m.cpp 25
1.5.5 linearStack1m.cpp运行结果 26
1.5.6 分析 26
1.6 将中缀表达式转换为后缀表达式 26
1.7 十进制数转换成八进制数 28
1.8 括号匹配的检验 29
1.9 行编辑程序 30
1.10 行编辑程序 32
1.11 表达式求值 35
1.12 顺序循环队列的类定义(数组表示)和实现 37
1.12.1 程序构思 37
1.12.2 顺序循环队列的类定义queue1.h 37
1.12.3 顺序循环队列的实现queue1.cpp 38
1.12.4 顺序循环队列的测试queue1m.cpp 39
1.12.5 queue1m.cpp运行结果 39
1.13 顺序循环队列的类定义(动态分配)和实现 40
1.13.1 程序构思 40
1.13.2 顺序循环队列的类定义queue2.h 40
1.13.3 顺序循环队列的实现queue2.cpp 41
1.13.4 顺序循环队列的测试queue2m.cpp 41
1.13.5 queue2m.cpp运行结果 42
1.14 循环双端队列顺序表示和实现 43
1.14.1 程序构思 43
1.14.2 循环双端队列顺序表示duilie.cpp 43
1.14.3 循环双端队列实现 43
1.14.4 循环双端队列的测试 44
1.14.5 duilie.cpp运行结果 45
1.14.6 分析 45
1.15 不考虑优先级相同元素的先进先出问题的顺序优先级队列 45
1.15.1 程序构思 45
1.15.2 不考虑优先级相同元素的先进先出问题的顺序优先级队列类
定义SqPQueue.h 45
1.15.3 顺序优先级队列的实现SqPQueue.cpp 46
1.15.4 顺序优先级队列的测试SqPQueuem.cpp 47
1.15.5 SqPQueuem.cpp运行结果 48
1.16 考虑优先级相同元素的先进先出问题的顺序优先级队列 48
1.16.1 程序构思 48
1.16.2 考虑优先级相同元素的先进先出问题的顺序优先级队列类
定义SPQueue.h 48
1.16.3 顺序优先级队列的实现SPQueue.cpp 49
1.16.4 顺序优先级队列的测试SPQueuem.cpp 50
1.16.5 SPQueuem.cpp运行结果 51
1.16.6 分析 51
第2章 链式存储结构的表、堆栈和队列 52
2.1 单链表的链式表示和实现 52
2.1.1 程序构思 52
2.1.2 单链表的类定义linklist3.h 52
2.1.3 单链表的实现linklist3.cpp 53
2.1.4 单链表的测试linklist3m.cpp 57
2.1.5 linklist3m.cpp运行结果 58
2.1.6 分析 59
2.2 链式堆栈的类定义(动态分配)和实现 59
2.2.1 程序构思 59
2.2.2 链式堆栈的类定义linearStack2.h 59
2.2.3 链式堆栈的实现linearStack2.cpp 60
2.2.4 链式堆栈的测试linearStack2m.cpp 62
2.2.5 linearStack2m.cpp运行结果 63
2.2.6 分析 63
2.3 后缀表达式求值 63
2.4 链式队列的类定义和实现 65
2.4.1 程序构思 65
2.4.2 链式队列的类定义linqueue.h 65
2.4.3 链式队列的实现linqueue.cpp 65
2.4.4 链式队列的测试linqueuem.cpp 66
2.4.5 linqueuem.cpp运行结果 67
2.5 单循环链表类定义和实现 68
2.5.1 程序构思 68
2.5.2 单循环链表的类定义cirlinklist.h 68
2.5.3 单循环链表的实现cirlinklist.cpp 69
2.5.4 单循环链表的测试与应用cirlinklistm.cpp 73
2.5.5 cirlinklistm.cpp运行结果 74
2.5.6 分析 76
2.6 双向循环链表的类定义和实现 76
2.6.1 程序构思 76
2.6.2 双向循环链表的类定义dcirlinkl.h 76
2.6.3 双向循环链表的实现dcirlinkl.cpp 77
2.6.4 双向循环链表的测试与应用dcirlinklm.cpp 82
2.6.5 dcirlinklm.cpp运行结果 83
2.6.6 分析 85
2.7 迷宫求解 85
第3章 数组、串和广义表 88
3.1 变长参数表的应用 88
3.1.1 程序构思 88
3.1.2 VLArgument.cpp运行结果 89
3.2 建立一维、二维数组的类定义和实现 89
3.2.1 程序构思 89
3.2.2 建立一维、二维数组的类定义intarray.h 89
3.2.3 建立一维、二维数组的类实现intarray.cpp 90
3.2.4 建立一维、二维数组的类测试intarraym.cpp 91
3.2.5 intarraym.cpp运行结果 92
3.3 稀疏矩阵的类定义与操作 92
3.3.1 程序构思 92
3.3.2 稀疏矩阵的类定义与操作xishu.h 92
3.3.3 稀疏矩阵相关操作的测试xishuM.cpp 95
3.3.4 xishuM.cpp运行结果 97
3.4 十字链表的定义与相关操作 98
3.4.1 程序构思 98
3.4.2 十字链表的定义与相关操作xishuM1.cpp 98
3.4.3 十字链表的操作测试 100
3.4.4 xishuM1.cpp运行结果 100
3.5 十字链表的定义与相关操作 100
3.5.1 程序构思 100
3.5.2 十字链表的类定义与相关操作xishuM2.cpp 100
3.5.3 十字链表相关操作的测试 102
3.5.4 xishuM2.cpp运行结果 102
3.6 十字链表的定义与相关操作 102
3.6.1 程序构思 102
3.6.2 十字链表的定义与相关操作xishuM3.cpp 102
3.6.3 十字链表相关操作的测试 104
3.6.4 xishuM3.cpp运行结果 104
3.7 十字链表的定义与相关操作 104
3.7.1 程序构思 104
3.7.2 十字链表的类定义与相关操作xishuM4.cpp 105
3.7.3 十字链表相关操作的测试 106
3.7.4 xishuM4.cpp运行结果 106
3.8 广义表的类定义和实现 107
3.8.1 程序构思 107
3.8.2 广义表的类定义guangyi.h 107
3.8.3 广义表的类实现guangyi.cpp 108
3.8.4 广义表的相关操作的测试guangyiM.cpp 114
3.8.5 guangyiM.cpp运行结果 116
3.8.6 分析 116
3.9 字符串的模式匹配 117
3.9.1 程序构思 117
3.9.2 字符串的模式匹配测试 118
3.9.3 Findstr.cpp运行结果 119
3.10 串模式匹配的类定义和实现 120
3.10.1 程序构思 120
3.10.2 串模式匹配的类定义FindSub.cpp 120
3.10.3 串模式匹配的类实现 120
3.10.4 串模式匹配的测试 121
3.10.5 FindSub.cpp运行结果 122
第4章 递归 123
4.1 递归运算(栈的应用) 123
4.1.1 程序构思 123
4.1.2 递归运算(栈的应用)Recurve.cpp 123
4.1.3 链式栈类实现 124
4.1.4 链式栈类操作测试 124
4.1.5 Recurve.cpp运行结果 124
4.1.6 分析 124
4.2 使用回溯法求解迷宫问题 125
4.2.1 程序构思 125
4.2.2 路口的结构体定义migong.cpp 125
4.2.3 迷宫类定义与实现 125
4.2.4 迷宫类的测试 126
4.2.5 migong.cpp运行结果 126
第5章 树和二叉树 127
5.1 树的类定义和实现 127
5.1.1 程序构思 127
5.1.2 树的孩子兄弟表示法为存储结构的结构体Tree.h 127
5.1.3 树类的实现Tree.cpp 128
5.1.4 树类相关操作的测试TreeM.cpp 131
5.1.5 TreeM.cpp运行结果 132
5.2 二叉树的类定义和实现 132
5.2.1 程序构思 132
5.2.2 二叉树类定义btree2.h 133
5.2.3 二叉树类的实现btree2.cpp 134
5.2.4 二叉树类相关操作的测试btree2M.cpp 137
5.2.5 btree2M.cpp运行结果 138
5.2.6 分析 139
5.3 二叉树的类定义和实现 139
5.3.1 程序构思 139
5.3.2 二叉树类定义btree.h 139
5.3.3 二叉树类的实现btree.cpp 140
5.3.4 二叉树类相关操作的测试btreeM.cpp 144
5.3.5 btreeM.cpp运行结果 144
5.3.6 分析 145
5.4 二叉搜索树的类定义和实现 145
5.4.1 程序构思 145
5.4.2 二叉搜索树的类定义BSTree.h 145
5.4.3 二叉搜索树类的实现BSTree.cpp 146
5.4.4 二叉搜索树相关操作的测试BSTreeM.cpp 150
5.4.5 BSTreeM.cpp运行结果 151
5.5 二叉搜索树的类定义和实现 152
5.5.1 程序构思 152
5.5.2 二叉搜索树的类定义与实现BSTREE1.h 152
5.5.3 二叉搜索树类的实现 153
5.5.4 二叉搜索树的类型测试BSTree1M.cpp 156
5.5.5 BSTree1M.cpp运行结果 157
5.6 二叉搜索树的类定义和实现 157
5.6.1 程序构思 157
5.6.2 二叉搜索树的类定义BSTreeF.h 158
5.6.3 二叉搜索树类的实现BSTreeF.cpp 159
5.6.4 二叉搜索树类相关操作的测试BSTreeFM.cpp 164
5.6.5 BSTreeFM.cpp运行结果 165
5.7 线索二叉树类定义和实现 165
5.7.1 程序构思 165
5.7.2 线索二叉树结点类型存储结构体TBSTree.h 166
5.7.3 线索二叉树类的实现 167
5.7.4 线索二叉树类相关操作的测试TBSTreeM.cpp 170
5.7.5 TBSTreeM.cpp运行结果 171
5.8 线索二叉树类定义和实现 171
5.8.1 程序构思 171
5.8.2 线索二叉树结点类型存储结构体TBSTree1.h 172
5.8.3 线索二叉树类的实现 173
5.8.4 线索二叉树类相关操作的测试TBSTree1M.cpp 175
5.8.5 TBSTree1M.cpp运行结果 176
5.9 线索二叉树类定义和实现 176
5.9.1 程序构思 176
5.9.2 线索二叉树结点类型存储结构体TBSTree2.h 176
5.9.3 线索二叉树类与派生类的实现 177
5.9.4 线索二叉树类相关操作的测试TBSTree2M.cpp 180
5.9.5 TBSTree2M.cpp运行结果 181
5.10 赫夫曼树与赫夫曼编码 181
5.10.1 程序构思 181
5.10.2 赫夫曼树与赫夫曼编码Huffman.cpp 181
5.10.3 类实现 182
5.10.4 赫夫曼编码问题的测试 183
5.10.5 Huffman.cpp运行结果 184
5.11 赫夫曼树与赫夫曼编码 184
5.12 赫夫曼树与赫夫曼编码 186
5.13 线性表的动态分配顺序表示和实现 188
5.14 最小堆的类定义和实现 189
5.14.1 程序构思 189
5.14.2 最小堆的类定义minheap.h 190
5.14.3 最小堆的实现minheap.cpp 190
5.14.4 最小堆类的测试minheapm.cpp 192
5.14.5 minheapm.cpp运行结果 193
5.15 利用最小堆相关操作进行堆排序 193
5.16 最大堆的类定义和实现 194
5.16.1 程序构思 194
5.16.2 最大堆的类定义maxheap.h 195
5.16.3 最大堆的实现maxheap.cpp 195
5.16.4 最大堆类的测试maxheapm.cpp 197
5.16.5 maxheapm.cpp运行结果 198
5.17 利用最大堆相关操作进行堆排序 198
第6章 图 200
6.1 图的类定义和实现 200
6.1.1 程序构思 200
6.1.2 图的相关数据类型的定义graph.h 200
6.1.3 图的相关运算的实现graph.cpp 201
6.1.4 图的相关运算的测试graphM.cpp 206
6.1.5 graphM.cpp运行结果 207
6.2 图的类定义和实现 208
6.2.1 程序构思 208
6.2.2 图的相关数据类型的定义graph0.h 209
6.2.3 图的相关运算的实现graph0.cpp 210
6.2.4 图的相关运算的测试graph0M.cpp 215
6.2.5 graph0M.cpp运行结果 216
6.2.6 分析 217
6.3 图的类定义和实现 217
6.3.1 程序构思 217
6.3.2 图的相关数据类型的定义graph1.h 217
6.3.3 图的相关运算的实现graph1.cpp 218
6.3.4 图的相关运算的测试graph1M.cpp 224
6.3.5 graph1M.cpp运行结果 225
6.4 利用普里姆算法求出用邻接矩阵表示的图的最小生成树 226
6.4.1 程序构思 226
6.4.2 图的相关数据类型的定义graph2.h 226
6.4.3 图的运算的实现文件graph2.cpp 227
6.4.4 图的相关运算的测试graph2M.cpp 229
6.4.5 graph2M.cpp运行结果 230
6.4.6 分析 230
6.5 利用克鲁斯卡尔方法求边集数组所示图的最小生成树 230
6.5.1 程序构思 230
6.5.2 图的相关数据类型的定义graph3.h 231
6.5.3 图的运算的实现文件graph3.cpp 232
6.5.4 图的相关运算的测试graph3M.cpp 235
6.5.5 graph3M.cpp运行结果 235
6.5.6 分析 236
6.6 狄克斯特拉算法(从一个顶点到其余各顶点的最短路径) 236
6.6.1 程序构思 236
6.6.2 最短路径(狄克斯特拉算法)PshortP.h 236
6.6.3 狄克斯特拉算法测试PshortPM.cpp 237
6.6.4 PShortPM.cpp运行结果 238
6.6.5 分析 238
6.7 最短路径(从一个顶点到其余各顶点的最短路径) 238
6.7.1 程序构思 238
6.7.2 最短路径(狄克斯特拉算法)PshortP1.cpp 239
6.7.3 算法测试 239
6.7.4 PShortP1.cpp运行结果 240
6.7.5 分析 241
6.8 最短路径(所有顶点之间的最短路径) 241
6.8.1 程序构思 241
6.8.2 最短路径SShortP.cpp 241
6.8.3 算法测试 242
6.8.4 SShortP.cpp运行结果 242
6.8.5 分析 244
6.9 最短路径(所有顶点之间的最短路径) 244
6.9.1 程序构思 244
6.9.2 最短路径SShortP1.cpp 244
6.9.3 算法测试 244
6.9.4 SShortP1.cpp运行结果 245
6.9.5 分析 247
6.10 最短路径(弗洛伊德算法、所有顶点之间的最短路径) 247
6.10.1 程序构思 247
6.10.2 最短路径(弗洛伊德算法)FloydP.h 247
6.10.3 弗洛伊德算法测试FloydP.cpp 248
6.10.4 FloydP.cpp运行结果 248
6.10.5 分析 250
6.11 最短路径(弗洛伊德算法、所有顶点之间的最短路径) 250
6.11.1 程序构思 250
6.11.2 弗洛伊德算法测试FloydP1.cpp 250
6.11.3 FloydP1.cpp运行结果 251
6.11.4 分析 253
6.12 拓扑排序 253
第7章 排序 256
7.1 桶排序 256
7.2 插入排序法(类方法) 257
7.3 插入排序法(类方法) 259
7.4 插入排序法 260
7.5 希尔排序法(类方法) 262
7.6 希尔排序 263
7.7 快速排序(类方法) 265
7.8 快速排序(类方法) 266
7.9 快速排序 268
7.10 快速排序 269
7.11 通用选择排序法 271
7.12 选择排序 272
7.13 选择排序法(下沉) 273
7.14 选择排序法(类方法) 274
7.15 选择排序法(函数模板、排序不改变原数组各元素的值) 276
7.16 选择排序法(函数模板、上浮) 277
7.17 选择排序法(排序后不改变原数组各元素的值) 279
7.18 通用冒泡排序法(下沉) 280
7.19 冒泡排序法(上浮) 281
7.20 冒泡排序法(下沉) 282
7.21 通用冒泡排序法(上浮) 283
7.22 归并排序(类方法) 285
7.23 归并排序法 287
7.24 堆排序法(类方法) 288
7.25 堆排序法 290
7.26 堆排序法(迭代器) 291
7.27 基数排序法(类方法) 293
7.28 基数排序法(函数模板) 294
7.29 锦标赛排序法 295
7.30 多种排序方法 297
7.31 K路平衡归并 301
7.32 对外存文件(磁盘文件)进行选择排序的算法 303
7.33 外存文件的排序操作(二路平衡归并) 305
第8章 查找 309
8.1 二分查找法(递归调用) 309
8.2 二分查找法(非递归调用) 309
8.3 二叉排序树的类定义与实现 310
8.3.1 程序构思 310
8.3.2 二叉排序树的类定义 311
8.3.3 二叉排序树的类实现 311
8.3.4 二叉排序树类的测试 313
8.3.5 BinSortT.cpp运行结果 314
8.4 Fibonacci查找法 314
8.5 平衡二叉搜索树类定义与实现 315
8.5.1 程序构思 315
8.5.2 平衡二叉搜索树类定义与实现AVLTREE.h 316
8.5.3 平衡二叉搜索树的类模板实现 317
8.5.4 平衡二叉搜索树类测试AVLTREEM.cpp 321
8.5.5 AVLTREEM.cpp运行结果 322
8.5.6 分析 322
8.6 顺序表的查找 322
8.7 B-树的操作 325
8.7.1 程序构思 325
8.7.2 B-树的操作B_Tree.cpp 325
8.7.3 B-树的相关操作的测试 329
8.7.4 B_Tree.cpp运行结果 329
8.8 B-树的(类方法)操作 330
8.8.1 程序构思 330
8.8.2 B-树的结点类型定义 330
8.8.3 B-树的类实现 331
8.8.4 B-树的类相关操作的测试 334
8.8.5 B_Tree1.cpp运行结果 334
8.9 哈希表 334
8.9.1 程序构思 334
8.9.2 哈希表的结点类型定义 335
8.9.3 哈希表的操作实现 335
8.9.4 哈希表的相关操作的测试 336
8.9.5 hashtable.cpp运行结果 337
8.10 散列表类定义与实现 337
8.10.1 程序构思 337
8.10.2 散列表类定义LHashL.h 338
8.10.3 散列表类的实现LHashL.cpp 338
8.10.4 散列表类的相关操作的测试 340
8.10.5 LHashLM.cpp运行结果 341
8.10.6 分析 343
第9章 文件 344
9.1 散列文件的插入、删除和查找操作 344
9.1.1 程序构思 344
9.1.2 散列文件的类模板定义、插入、删除和查找操作HashFM.cpp 344
9.1.3 散列文件的类模板实现 345
9.1.4 散列文件的类模板实现的测试 351
9.1.5 HashFM.cpp运行结果 353
9.2 索引文件的相关操作 354
9.2.1 程序构思 354
9.2.2 索引文件的相关操作IndexF.cpp 355
9.2.3 索引文件的类模板实现 356
9.2.4 索引文件的类模板实现的测试IndexFM.cpp 361
9.2.5 IndexFM.cpp运行结果 362
参考文献 364本书收集了当前国内几本比较流行的数据结构算法书中的算法,在Visual C++6.0平台上将其编写成可以直接运行的程序。对有些算法,还给出了多种程序设计方案实现,以迅速提高程序员的算法与程序设计能力。
本书遵循数据结构算法书中的体系,将全书分为九章对应之,以便阅读。它们是:顺序存储结构的表、堆栈和队列,链式存储结构的表、堆栈和队列,数组、串和广义表,递归,树和二叉树,图,排序,查找,文件。本书的光盘中含有108个完整的程序源代码、可执行文件。
本书适合于想要通过编程实例学习数据结构的C++程序员,也可以作为高校师生学习计算机编程与数据结构的参考书,尤其适合报考计算机软件专业研究生的人员与参加信息奥赛班学习的人员参考。
本书配有PowerPoint制作的电子教案,教师可以根据情况任意修改,如有需要,可从中国水利水电出版社网站(http://www.waterpub.com.cn/softdown/)下载
- C语言同步案例习题精解 [主编 肖朝晖]
- Python程序设计 [李国燕 王新强 刘佳 等编著]
- 高等数学(下册) [秦红兵]
- 智慧畜牧业技术 [主编 连卫民 张志明 王辉]
- Python程序设计项目化教程 [主编 卢凤伟]
- 人工智能算法与实践 [主编 梁琨 张翼英]
- 网页设计与制作 [主编 王潇 章明珠]
- Python办公自动化—玩转Excel [郝春吉 刘智杨 周永福 黄 诠]
- 人工智能概论(第二版) [张广渊 周风余 朱振方 著]
- Web安全基础及项目实践 [主编 郑丽 安厚霖 崔俊鹏]
- 电路与电子技术Ⅲ——模拟电子技术 [主编 刘峰]
- 线性代数 [主编 惠小健 王震 卢鸿艳]
- 信息安全技术基础(第二版) [主编 张浩军 陈莉 王峰]
- 电气与控制工程项目管理 [邹红利 滕璇璇 陈德山 编著]
- 计算机网络技术项目化教程(微课版) [主编 王艳萍 安华萍]
- 自然拼读背单词:基础英语4000词(微课版) [陈雪 编著]
- 剪枝——庭院常见植物修剪 [[英]大卫·斯夸尔]
- 电子产品生产与检测 [主编 李恒 杨国辉 练斌]
- Web前端开发项目化教程(微课版) [主编 郭立文 王洪波]
- 数据清洗 [黄源 刘智杨 孙大松]
- 计算机应用基础与实践(Windows 7平台与Office 2016应用) [主编 吕波 何敏]
- 程序员考前冲刺100题 [黄少年 李竹村 曾哲军 编著]
- 办公自动化高级应用案例教程(微课版) [高海波 张诚 杨顺]
- UI创意设计 [主 编 赵艳莉]
- Photoshop图形图像处理项目式教程(微课版) [主 编 韦连春]
- 摄影与剪辑(微课版) [主编 康永斌 杨华 李建伟 副]
- 美国儿童英语自然拼读法(中外教精讲版)(上、下册) [好想学英语教研组 编著]
- 零基础英语语法趣味自学 [宣利 著 黎娟 译]
- “五小工”劳动技能培训教程 [张希跃 王其梁]
- 数据挖掘算法—基于C++及CUDA C [蒂莫西•马斯特斯(Timothy]