图书介绍

数据结构算法 C++Builder 6.0程序集PDF|Epub|txt|kindle电子书版本网盘下载

数据结构算法 C++Builder 6.0程序集
  • 侯识忠等编著 著
  • 出版社: 北京:中国水利水电出版社
  • ISBN:7508429575
  • 出版时间:2005
  • 标注页数:363页
  • 文件大小:10MB
  • 文件页数:380页
  • 主题词:数据结构;算法分析;C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

数据结构算法 C++Builder 6.0程序集PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

前言1

第1章 顺序存储结构的表、堆栈和队列1

1.1 线性表的数组表示和实现1

1.1.1 程序构思1

1.1.2 线性表的类定义linelistl.h1

目录1

1.1.3 线性表的实现linelistl.cpp2

1.1.4 线性表的测试linelistlm.cpp5

1.1.5 linelistlm.cpp运行结果7

1.2 线性表的动态分配顺序表示和实现8

1.2.1 程序构思8

1.1.6 分析8

1.2.2 线性表的类定义linelist2.h9

1.2.3 线性表的实现linelist2.cpp10

1.2.4 线性表的测试linelist2m.cpp13

1.2.5 linelist2m.cpp运行结果15

1.2.6 分析16

1.3 顺序堆栈的类定义(动态分配)和实现16

1.3.1 程序构思16

1.3.2 顺序栈的类定义stackl.h16

1.3.3 顺序栈的实现stackl.cpp17

1.3.4 顺序栈的测试stacklM.cpp18

1.3.5 stacklM.cpp运行结果19

1.4.2 顺序栈的类定义stack.h20

1.4.1 程序构思20

1.4 顺序堆栈的类定义(动态分配)和实现20

1.4.3 顺序栈的实现stack.cpp21

1.4.4 顺序栈的测试stackmain.cpp21

1.4.5 stackmain.cpp运行结果23

1.5 顺序堆栈的类定义(数组表示)和实现23

1.5.1 程序构思23

1.5.2 顺序堆栈的类定义linearStackl.h23

1.5.3 顺序堆栈的实现linearStackl.cpp24

1.5.4 顺序堆栈的测试linearStacklm.cpp25

1.5.5 linearStacklm.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 顺序循环队列的类定义queuel.h37

1.12.3 顺序循环队列的实现queuel.cpp37

1.12.4 顺序循环队列的测试queuelm.cpp38

1.12.5 queuel m.cpp运行结果39

1.13 顺序循环队列的类定义(动态分配)和实现39

1.13.1 程序构思39

1.13.3 顺序循环队列的实现queue2.cpp40

1.13.2 顺序循环队列的类定义queue2.h40

1.13.4 顺序循环队列的测试queue2m.cpp41

1.13.5 queue2m.cpp运行结果42

1.14 循环双端队列顺序表示和实现42

1.14.1 程序构思42

1.14.2 循环双端队列顺序表示duilie.cpp42

1.14.3 循环双端队列实现43

1.14.4 循环双端队列的测试44

1.14.5 duilie.cpp运行结果44

1.14.6 分析44

1.15.2 不考虑优先级相同元素的先进先出问题的顺序优先级队列类定义SqPQueue.h45

1.15.1 程序构思45

1.15 不考虑优先级相同元素的先进先出问题的顺序优先级队列45

1.15.3 顺序优先级队列的实现SqPQueue.cpp46

1.15.4 顺序优先级队列的测试SqPQueuem.cpp47

1.15.5 SqPQueuem.cpp运行结果47

1.16 考虑优先级相同元素的先进先出问题的顺序优先级队列48

1.16.1 程序构思48

1.16.2 考虑优先级相同元素的先进先出问题的顺序优先级队列类定义SPQueue.h48

1.16.3 顺序优先级队列的实现SPQueue.cpp49

1.16.4 顺序优先级队列的测试SPQueuem.cpp50

1.16.5 SPQueuem.cpp运行结果50

1.16.6 分析50

2.1.2 单链表的类定义linklist3.h51

2.1.1 程序构思51

第2章 链式存储结构的表、堆栈和队列51

2.1 单链表的链式表示和实现51

2.1.3 单链表的实现linklist3.cpp52

2.1.4 单链表的测试linklist3m.cpp56

2.1.5 linklist3m.cpp运行结果57

2.1.6 分析58

2.2 链式堆栈的类定义(动态分配)和实现58

2.2.1 程序构思58

2.2.2 链式堆栈的类定义linearStack2.h58

2.2.3 链式堆栈的实现linearStack2.cpp59

2.2.4 链式堆栈的测试linearStack2m.cpp61

2.2.6 分析62

2.3 后缀表达式求值62

2.2.5 linearStack2m.cpp运行结果62

2.4 链式队列的类定义和实现63

2.4.1 程序构思63

2.4.2 链式队列的类定义linqueue.h64

2.4.3 链式队列的实现linqueue.cpp64

2.4.4 链式队列的测试linqueuem.cpp65

2.4.5 linqueuem.cpp运行结果66

2.5 单循环链表类定义和实现66

2.5.1 程序构思66

2.5.2 单循环链表的类定义cirlinklist.h67

2.5.3 单循环链表的实现cirlinklist.cpp68

2.5.4 单循环链表的测试与应用cirlinklistm.cpp71

2.5.5 cirlinklistm.cpp运行结果73

2.6.1 程序构思74

2.6 双向循环链表的类定义和实现74

2.5.6 分析74

2.6.2 双向循环链表的类定义dcirlinkl.h75

2.6.3 双向循环链表的实现dcirlinkl.cpp76

2.6.4 双向循环链表的测试与应用dcirlinklm.cpp80

2.6.5 dcirlinklm.cpp运行结果82

2.6.6 分析83

2.7 迷宫求解83

第3章 数组、串和广义表87

3.1 变长参数表的应用87

3.2 建立一维、二维数组的类定义和实现88

3.2.1 程序构思88

3.2.2 建立一维、二维数组的类定义intarray.h88

3.2.3 建立一维、二维数组的类实现intarray.cpp89

3.2.4 建立一维、二维数组的类测试intarraym.cpp90

3.2.5 intarraym.cpp运行结果91

3.3 稀疏矩阵的类定义与操作91

3.3.1 程序构思91

3.3.2 稀疏矩阵的类定义与操作xishu.h91

3.3.3 稀疏矩阵相关操作的测试xishuM.cpp94

3.3.4 xishuM.cpp运行结果96

3.4 十字链表的定义与相关操作97

3.4.1 程序构思97

3.4.2 十字链表的定义与相关操作xishuMl.cpp97

3.5.2 十字链表的类定义与相关操作xishuM2.cpp99

3.5.1 程序构思99

3.5 十字链表的定义与相关操作99

3.4.3 十字链表的操作测试99

3.4.4 xishuMl.cpp运行结果99

3.5.3 十字链表相关操作的测试101

3.5.4 xishuM2.cpp运行结果101

3.6 十字链表的定义与相关操作101

3.6.1 程序构思101

3.6.2 十字链表的定义与相关操作xishuM3.cpp101

3.6.3 十字链表相关操作的测试103

3.6.4 xishuM3.cpp运行结果103

3.7 十字链表的定义与相关操作103

3.7.1 程序构思103

3.7.2 十字链表的类定义与相关操作xishuM4.cpp103

3.8 广义表的类定义和实现105

3.8.1 程序构思105

3.7.3 十字链表相关操作的测试105

3.7.4 xishuM4.cpp运行结果105

3.8.2 广义表的类定义guangyi.h106

3.8.3 广义表的类实现guangyi.cpp107

3.8.4 广义表的相关操作的测试guangyiM.cpp113

3.8.5 guangyiM.cpp运行结果115

3.8.6 分析115

3.9 字符串的模式匹配115

3.9.1 程序构思115

3.9.2 字符串的模式匹配测试117

3.9.3 Findstr.cpp运行结果118

3.10.2 串模式匹配的类定义FindSub.cpp119

3.10 串模式匹配的类定义和实现119

3.10.1 程序构思119

3.10.3 串模式匹配的类实现120

3.10.4 串模式匹配的测试121

3.10.5 FindSub.cpp运行结果121

第4章 递归123

4.1 递归运算(栈的应用)123

4.1.1 程序构思123

4.1.2 递归运算(栈的应用)Recurve.cpp123

4.1.5 Recurve.cpp运行结果124

4.1.6 分析124

4.1.4 链式栈类操作测试124

4.1.3 链式栈类实现124

4.2 使用回溯法求解迷宫问题125

4.2.1 程序构思125

4.2.2 路口的结构体定义migong.cpp125

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.h127

5.1.3 树类的实现Tree.cpp128

5.1.4 树类相关操作的测试TreeM.cpp131

5.1.5 TreeM.cpp运行结果132

5.2.1 程序构思133

5.2.2 二叉树类定义btree2.h133

5.2 二叉树的类定义和实现133

5.2.3 二叉树类的实现btree2.cpp134

5.2.4 二叉树类相关操作的测试btree2M.cpp138

5.2.5 btree2M.cpp运行结果138

5.2.6 分析139

5.3 二叉树的类定义和实现139

5.3.1 程序构思139

5.3.2 二叉树类定义btree.h139

5.3.3 二叉树类的实现btree.cpp140

5.3.4 二叉树类相关操作的测试btreeM.cpp144

5.4 二叉搜索树的类定义和实现145

5.4.1 程序构思145

5.3.5 btreeM.cpp运行结果145

5.3.6 分析145

5.4.2 二叉搜索树的类定义BSTree.h146

5.4.3 二叉搜索树类的实现BSTree.cpp147

5.4.4 二叉搜索树相关操作的测试BSTreeM.cpp150

5.4.5 BSTreeM.cpp运行结果151

5.5 二叉搜索树的类定义和实现152

5.5.1 程序构思152

5.5.2 二叉搜索树的类定义与实现BSTREEl.h152

5.5.3 二叉搜索树类的实现153

5.5.4 二叉搜索树的类型测试BSTreelM.cpp156

5.5.5 BSTreel M.cpp运行结果157

5.6 二叉搜索树的类定义和实现158

5.6.1 程序构思158

5.6.2 二叉搜索树的类定义BSTreeF.h158

5.6.3 二叉搜索树类的实现BSTreeF.cpp159

5.6.4 二叉搜索树类的相关操作的测试BSTreeFM.cpp164

5.6.5 BSTreeFM.cpp运行结果165

5.7 线索二叉树类定义和实现166

5.7.1 程序构思166

5.7.2 线索二叉树结点类型存储结构体TBSTree.h166

5.7.3 线索二叉树类的实现167

5.7.4 线索二叉树类相关操作的测试TBSTreeM.cpp170

5.7.5 TBSTreeM.cpp运行结果171

5.8 线索二叉树类定义和实现172

5.8.1 程序构思172

5.8.2 线索二叉树结点类型存储结构体TBSTreel.h172

5.8.3 线索二叉树类的实现173

5.8.4 线索二叉树类相关操作的测试TBSTreelM.cpp175

5.8.5 TBSTreelM.cpp运行结果176

5.9 线索二叉树类定义和实现176

5.9.1 程序构思176

5.9.2 线索二叉树结点类型存储结构体TBSTree2.h176

5.9.3 线索二叉树类与派生类的实现178

5.9.4 线索二叉树类相关操作的测试TBSTree2M.cpp180

5.10.2 赫夫曼树与赫夫曼编码Huffman.cpp181

5.10.1 程序构思181

5.10 赫夫曼树与赫夫曼编码181

5.9.5 TBSTree2M.cpp运行结果181

5.10.3 类实现182

5.10.4 赫夫曼编码问题的测试184

5.10.5 Huffman.cpp运行结果184

5.11 赫夫曼树与赫夫曼编码184

5.12 赫夫曼树与赫夫曼编码186

5.13 线性表的动态分配顺序表示和实现188

5.14 最小堆的类定义和实现190

5.14.1 程序构思190

5.14.2 最小堆的类定义minheap.h190

5.14.3 最小堆的实现minheap.cpp191

5.14.4 最小堆类的测试minheapm.cpp192

5.14.5 minheapm.cpp运行结果193

5.15 利用最小堆相关操作进行堆排序193

5.16 最大堆的类定义和实现194

5.16.1 程序构思194

5.16.2 最大堆的类定义maxheap.h195

5.16.3 最大堆的实现maxheap.cpp195

5.16.4 最大堆类的测试maxheapm.cpp197

5.16.5 maxheapm.cpp运行结果198

5.17 利用最大堆相关操作进行堆排序198

第6章 图200

6.1 图的类定义和实现200

6.1.1 程序构思200

6.1.2 图的相关数据类型的定义graph.h200

6.1.3 图的相关运算的实现graph.cpp201

6.1.4 图的相关运算的测试graphM.cpp206

6.1.5 graphM.cpp运行结果207

6.2 图的类定义和实现208

6.2.1 程序构思208

6.2.2 图的相关数据类型的定义graphO.h209

6.2.3 图的相关运算的实现graphO.cpp210

6.2.4 图的相关运算的测试graphOM.cpp215

6.2.5 graphOM.cpp运行结果216

6.2.6 分析217

6.3 图的类定义和实现217

6.3.1 程序构思217

6.3.2 图的相关数据类型的定义graphl.h217

6.3.3 图的相关运算的实现graphl.cpp218

6.3.4 图的相关运算的测试graphlM.cpp224

6.3.5 graphlM.cpp运行结果225

6.4 利用普里姆算法求出用邻接矩阵表示的图的最小生成树226

6.4.1 程序构思226

6.4.2 图的相关数据类型的定义graph2.h226

6.4.3 图的运算的实现文件graph2.cpp227

6.4.4 图的相关运算的测试graph2M.cpp229

6.4.5 graph2M.cpp运行结果230

6.4.6 分析230

6.5 利用克鲁斯卡尔方法求边集数组所示图的最小生成树230

6.5.1 程序构思230

6.5.2 图的相关数据类型的定义graph3.h231

6.5.3 图的运算的实现文件graph3.cpp232

6.5.4 图的相关运算的测试graph3M.cpp235

6.5.5 graph3M.cpp运行结果235

6.5.6 分析236

6.6 狄克斯特拉算法(从一个顶点到其余各顶点的最短路径)236

6.6.1 程序构思236

6.6.2 最短路径(狄克斯特拉算法)PshortP.h236

6.6.3 狄克斯特拉算法测试PshortPM.cpp237

6.6.4 PShortPM.cpp运行结果238

6.6.5 分析238

6.7 最短路径(从一个顶点到其余各顶点的最短路径)238

6.7.1 程序构思238

6.7.3 算法测试239

6.7.2 最短路径(狄克斯特拉算法)PshortPl.cpp239

6.7.4 PShortPl.cpp运行结果240

6.7.5 分析241

6.8 最短路径(所有顶点之间的最短路径)241

6.8.1 程序构思241

6.8.2 最短路径SShortP.cpp241

6.8.3 算法测试242

6.8.4 SShortP.cpp运行结果242

6.8.5 分析244

6.9 最短路径(所有顶点之间的最短路径)244

6.9.1 程序构思244

6.9.2 最短路径SShortPl.cpp244

6.9.3 算法测试244

6.9.4 SShortPl.cpp运行结果245

6.10 最短路径(弗洛伊德算法、所有顶点之间的最短路径)247

6.10.1 程序构思247

6.10.2 最短路径(弗洛伊德算法)FloydP.h247

6.9.5 分析247

6.10.3 弗洛伊德算法测试FloydP.cpp248

6.10.4 FloydP.cpp运行结果248

6.10.5 分析250

6.11 最短路径(弗洛伊德算法、所有顶点之间的最短路径)250

6.11.1 程序构思250

6.11.2 弗洛伊德算法测试FloydPl.cpp250

6.11.3 FloydPl.cpp运行结果251

6.12 拓扑排序253

6.11.4 分析253

第7章 排序256

7.1 桶排序256

7.2 插入排序法(类方法)257

7.3 插入排序法(类方法)259

7.4 插入排序法260

7.5 希尔排序法(类方法)261

7.6 希尔排序263

7.7 快速排序(类方法)265

7.8 快速排序(类方法)266

7.9 快速排序267

7.10 快速排序269

7.11 通用选择排序法270

7.12 选择排序271

7.13 选择排序法(下沉)272

7.14 选择排序法(类方法)273

7.15 选择排序法(函数模板、排序不改变原数组各元素的值)275

7.16 选择排序法(函数模板、上浮)276

7.17 选择排序法(排序后不改变原数组各元素的值)278

7.18 通用冒泡排序法(下沉)279

7.19 冒泡排序法(上浮)280

7.20 冒泡排序法(下沉)281

7.21 通用冒泡排序法(上浮)282

7.22 归并排序(类方法)284

7.23 归并排序法286

7.24 堆排序法(类方法)287

7.25 堆排序法289

7.26 堆排序法(迭代器)290

7.27 基数排序法(类方法)292

7.28 基数排序法(函数模板)293

7.29 锦标赛排序法294

7.30 多种排序方法296

7.31 K路平衡归并299

7.32 对外存文件(磁盘文件)进行选择排序的算法301

7.33 外存文件的排序操作(二路平衡归并)303

第8章 查找308

8.1 二分查找法(递归调用)308

8.2 二分查找法(非递归调用)308

8.3.1 程序构思309

8.3 二叉排序树的类定义与实现309

8.3.2 二叉排序树的类定义310

8.3.3 二叉排序树的类实现310

8.3.4 二叉排序树类的测试312

8.3.5 BinSortT.cpp运行结果313

8.4 Fibonacci查找法313

8.5 平衡二叉搜索树类定义与实现314

8.5.1 程序构思314

8.5.2 平衡二叉搜索树类定义与实现AVLTREE.h315

8.5.3 平衡二叉搜索树的类模板实现316

8.5.4 平衡二叉搜索树类测试AVLTREEM.cpp320

8.6 顺序表的查找321

8.5.6 分析321

8.5.5 AVLTREEM.cpp运行结果321

8.7 B-树的操作324

8.7.1 程序构思324

8.7.2 B-树的操作B Tree.cpp324

8.7.3 B-树的相关操作的测试328

8.7.4 B_Tree.cpp运行结果328

8.8 B-树的(类方法)操作328

8.8.1 程序构思328

8.8.2 B-树的结点类型定义329

8.8.3 B-树的类实现329

8.8.4 B-树的类相关操作的测试332

8.9.2 哈希表的结点类型定义333

8.9.1 程序构思333

8.9 哈希表333

8.8.5 B_Treel.cpp运行结果333

8.9.3 哈希表的操作实现334

8.9.4 哈希表的相关操作的测试335

8.9.5 hashtable.cpp运行结果336

8.10 散列表类定义与实现336

8.10.1 程序构思336

8.10.2 散列表类定义LHashL.h336

8.10.3 散列表类的实现LHashL.cpp337

8.10.4 散列表类的相关操作的测试339

8.10.5 LHashLM.cpp运行结果340

8.10.6 分析342

9.1.1 程序构思343

9.1.2 散列文件的类模板定义、插入、删除和查找操作HashFM.cpp343

9.1 散列文件的插入、删除和查找操作343

第9章 文件343

9.1.3 散列文件的类模板实现344

9.1.4 散列文件的类模板实现的测试350

9.1.5 HashFM.cpp运行结果352

9.2 索引文件的相关操作353

9.2.1 程序构思353

9.2.2 索引文件的相关操作IndexF.cpp354

9.2.3 索引文件的类模板实现355

9.2.4 索引文件的类模板实现的测试IndexFM.cpp360

9.2.5 IndexFM.cpp运行结果361

参考文献363

热门推荐