数据结构算法


[General Information] 书名=数据结构算法:Visual C++6.0程序集 作者=侯识忠等编著 页数=364 SS号=11401558 出版日期=2005年05月第1版 前言 目录 前言 第1章 顺序存储结构的表、堆栈和队列 1.1 线性表的数组表示和实现 1.1.1 程序构思 1.1.2 线性表的类定义linelistl.h 1.1.3 线性表的实现linelistl.cpp 1.1.4 线性表的测试linelistl m.cpp 1.1.5 linelistlm.cpp运行结果 1.1.6 分析 1.2 线性表的动态分配顺序表示和实现 1.2.1 程序构思 1.2.2 线性表的类定义linelist2.h 1.2.3 线性表的实现linelist2.cpp 1.2.4 线性表的测试linelist2m.cpp 1.2.5 linelist2m.cpp运行结果 1.2.6 分析 1.3 顺序堆栈的类定义(动态分配)和实现 1.3.1 程序构思 1.3.2 顺序栈的类定义stackl.h 1.3.3 顺序栈的实现stackl.cpp 1.3.4 顺序栈的测试stacklM.cpp 1.3.5 stacklM.cpp运行结果 1.4 顺序堆栈的类定义(动态分配)和实现 1.4.1 程序构思 1.4.2 顺序栈的类定义stack.h 1.4.3 顺序栈的实现stack.cpp 1.4.4 顺序栈的测试stackmain.cpp 1.4.5 stackmain.cpp运行结果 1.5 顺序堆栈的类定义(数组表示)和实现 1.5.1 程序构思 1.5.2 顺序堆栈的类定义linearStackl.h 1.5.3 顺序堆栈的实现linearStackl.cpp 1.5.4 顺序堆栈的测试linearStacklm.cpp 1.5.5 linearStacklm.cpp运行结果 1.5.6 分析 1.6 将中缀表达式转换为后缀表达式 1.7 十进制数转换成八进制数 1.8 括号匹配的检验 1.9 行编辑程序 1.10 行编辑程序 1.11 表达式求值 1.12 顺序循环队列的类定义(数组表示)和实现 1.12.1 程序构思 1.12.2 顺序循环队列的类定义queuel.h 1.12.3 顺序循环队列的实现queuel.cpp 1.12.4 顺序循环队列的测试queuelm.cpp 1.12.5 queuelm.cpp运行结果 1.13 顺序循环队列的类定义(动态分配)和实现 1.13.1 程序构思 1.13.2 顺序循环队列的类定义queue2.h 1.13.3 顺序循环队列的实现queue2.cpp 1.13.4 顺序循环队列的测试queue2m.cpp 1.13.5 queue2m.cpp运行结果 1.14 循环双端队列顺序表示和实现 1.14.1 程序构思 1.14.2 循环双端队列顺序表示duilie.cpp 1.14.3 循环双端队列实现 1.14.4 循环双端队列的测试 1.14.5 duilie.cpp运行结果 1.14.6 分析 1.15 不考虑优先级相同元素的先进先出问题的顺序优先级队列 1.15.1 程序构思 1.15.2 不考虑优先级相同元素的先进先出问题的顺序优先级队列类定义SqPQ ueue.h 1.15.3 顺序优先级队列的实现SqPQueue.cpp 1.15.4 顺序优先级队列的测试SqPQueuem.cpp 1.15.5 SqPQueuem.cpp运行结果 1.16 考虑优先级相同元素的先进先出问题的顺序优先级队列 1.16.1 程序构思 1.16.2 考虑优先级相同元素的先进先出问题的顺序优先级队列类定义SPQue ue.h 1.16.3 顺序优先级队列的实现SPQueue.cpp 1.16.4 顺序优先级队列的测试SPQueuem.cpp 1.16.5 SPQueuem.cpp运行结果 1.16.6 分析 第2章 链式存储结构的表、堆栈和队列 2.1 单链表的链式表示和实现 2.1.1 程序构思 2.1.2 单链表的类定义linklist3.h 2.1.3 单链表的实现linklist3.cpp 2.1.4 单链表的测试linklist3m.cpp 2.1.5 linklist3m.cpp运行结果 2.1.6 分析 2.2 链式堆栈的类定义(动态分配)和实现 2.2.1 程序构思 2.2.2 链式堆栈的类定义linearStack2.h 2.2.3 链式堆栈的实现linearStack2.cpp 2.2.4 链式堆栈的测试linearStack2m.cpp 2.2.5 linearStack2m.cpp运行结果 2.2.6 分析 2.3 后缀表达式求值 2.4 链式队列的类定义和实现 2.4.1 程序构思 2.4.2 链式队列的类定义linqueue.h 2.4.3 链式队列的实现linqueue.cpp 2.4.4 链式队列的测试linqueuem.cpp 2.4.5 linqueuem.cpp运行结果 2.5 单循环链表类定义和实现 2.5.1 程序构思 2.5.2 单循环链表的类定义cirlinklist.h 2.5.3 单循环链表的实现cirlinklist.cpp 2.5.4 单循环链表的测试与应用cirlinklistm.cpp 2.5.5 cirlinklistm.cpp运行结果 2.5.6 分析 2.6 双向循环链表的类定义和实现 2.6.1 程序构思 2.6.2 双向循环链表的类定义dcirlinkl.h 2.6.3 双向循环链表的实现dcirlinkl.cpp 2.6.4 双向循环链表的测试与应用dcirlinklm.cpp 2.6.5 dcirlinklm.cpp运行结果 2.6.6 分析 2.7 迷宫求解 第3章 数组、串和广义表 3.1 变长参数表的应用 3.1.1 程序构思 3.1.2 VLArgument.cpp运行结果 3.2 建立一维、二维数组的类定义和实现 3.2.1 程序构思 3.2.2 建立一维、二维数组的类定义intarray.h 3.2.3 建立一维、二维数组的类实现intarray.cpp 3.2.4 建立一维、二维数组的类测试intarraym.cpp 3.2.5 intarraym.cpp运行结果 3.3 稀疏矩阵的类定义与操作 3.3.1 程序构思 3.3.2 稀疏矩阵的类定义与操作xishu.h 3.3.3 稀疏矩阵相关操作的测试xishuM.cpp 3.3.4 xishuM.cpp运行结果 3.4 十字链表的定义与相关操作 3.4.1 程序构思 3.4.2 十字链表的定义与相关操作xishuMl.cpp 3.4.3 十字链表的操作测试 3.4.4 xishuMl.cpp运行结果 3.5 十字链表的定义与相关操作 3.5.1 程序构思 3.5.2 十字链表的类定义与相关操作xishuM2.cpp 3.5.3 十字链表相关操作的测试 3.5.4 xishuM2.cpp运行结果 3.6 十字链表的定义与相关操作 3.6.1 程序构思 3.6.2 十字链表的定义与相关操作xishuM3.cpp 3.6.3 十字链表相关操作的测试 3.6.4 xishuM3.cpp运行结果 3.7 十字链表的定义与相关操作 3.7.1 程序构思 3.7.2 十字链表的类定义与相关操作xishuM4.cpp 3.7.3 十字链表相关操作的测试 3.7.4 xishuM4.cpp运行结果 3.8 广义表的类定义和实现 3.8.1 程序构思 3.8.2 广义表的类定义guangyi.h 3.8.3 广义表的类实现guangyi.cpp 3.8.4 广义表的相关操作的测试guangyiM.cpp 3.8.5 guangyiM.cpp运行结果 3.8.6 分析 3.9 字符串的模式匹配 3.9.1 程序构思 3.9.2 字符串的模式匹配测试 3.9.3 Findstr.cpp运行结果 3.10 串模式匹配的类定义和实现 3.10.1 程序构思 3.10.2 串模式匹配的类定义FindSub.cpp 3.10.3 串模式匹配的类实现 3.10.4 串模式匹配的测试 3.10.5 FindSub.cpp运行结果 第4章 递归 4.1 递归运算(栈的应用) 4.1.1 程序构思 4.1.2 递归运算(栈的应用)Recurve.cpp 4.1.3 链式栈类实现 4.1.4 链式栈类操作测试 4.1.5 Recurve.cpp运行结果 4.1.6 分析 4.2 使用回溯法求解迷宫问题 4.2.1 程序构思 4.2.2 路口的结构体定义migong.cpp 4.2.3 迷宫类定义与实现 4.2.4 迷宫类的测试 4.2.5 migong.cpp运行结果 第5章 树和二叉树 5.1 树的类定义和实现 5.1.1 程序构思 5.1.2 树的孩子兄弟表示法为存储结构的结构体Tree.h 5.1.3 树类的实现Tree.cpp 5.1.4 树类相关操作的测试TreeM.cpp 5.1.5 TreeM.cpp运行结果 5.2 二叉树的类定义和实现 5.2.1 程序构思 5.2.2 二叉树类定义btree2.h 5.2.3 二叉树类的实现btree2.cpp 5.2.4 二叉树类相关操作的测试btree2M.cpp 5.2.5 btree2M.cpp运行结果 5.2.6 分析 5.3 二叉树的类定义和实现 5.3.1 程序构思 5.3.2 二叉树类定义btree.h 5.3.3 二叉树类的实现btree.cpp 5.3.4 二叉树类相关操作的测试btreeM.cpp 5.3.5 btreeM.cpp运行结果 5.3.6 分析 5.4 二叉搜索树的类定义和实现 5.4.1 程序构思 5.4.2 二叉搜索树的类定义BSTree.h 5.4.3 二叉搜索树类的实现BSTree.cpp 5.4.4 二叉搜索树相关操作的测试BSTreeM.cpp 5.4.5 BSTreeM.cpp运行结果 5.5 二叉搜索树的类定义和实现 5.5.1 程序构思 5.5.2 二叉搜索树的类定义与实现BSTREE1.h 5.5.3 二叉搜索树类的实现 5.5.4 二叉搜索树的类型测试BSTreelM.cpp 5.5.5 BSTree1M.cpp运行结果 5.6 二叉搜索树的类定义和实现 5.6.1 程序构思 5.6.2 二叉搜索树的类定义BSTreeF.h 5.6.3 二叉搜索树类的实现BSTreeF.cpp 5.6.4 二叉搜索树类相关操作的测试BSTreeFM.cpp 5.6.5 BSTreeFM.cpp运行结果 5.7 线索二叉树类定义和实现 5.7.1 程序构思 5.7.2 线索二叉树结点类型存储结构体TBSTree.h 5.7.3 线索二叉树类的实现 5.7.4 线索二叉树类相关操作的测试TBSTreeM.cpp 5.7.5 TBSTreeM.cpp运行结果 5.8 线索二叉树类定义和实现 5.8.1 程序构思 5.8.2 线索二叉树结点类型存储结构体TBSTreel.h 5.8.3 线索二叉树类的实现 5.8.4 线索二叉树类相关操作的测试TBSTree1M.cpp 5.8.5 TBSTree1M.cpp运行结果 5.9 线索二叉树类定义和实现 5.9.1 程序构思 5.9.2 线索二叉树结点类型存储结构体TBSTree2.h 5.9.3 线索二叉树类与派生类的实现 5.9.4 线索二叉树类相关操作的测试TBSTree2M.cpp 5.9.5 TBSTree2M.cpp运行结果 5.10 赫夫曼树与赫夫曼编码 5.10.1 程序构思 5.10.2 赫夫曼树与赫夫曼编码Huffman.cpp 5.10.3 类实现 5.10.4 赫夫曼编码问题的测试 5.10.5 Huffman.cpp运行结果 5.11 赫夫曼树与赫夫曼编码 5.12 赫夫曼树与赫夫曼编码 5.13 线性表的动态分配顺序表示和实现 5.14 最小堆的类定义和实现 5.14.1 程序构思 5.14.2 最小堆的类定义minheap.h 5.14.3 最小堆的实现minheap.cpp 5.14.4 最小堆类的测试minheapm.cpp 5.14.5 minheapm.cpp运行结果 5.15 利用最小堆相关操作进行堆排序 5.16 最大堆的类定义和实现 5.16.1 程序构思 5.16.2 最大堆的类定义maxheap.h 5.16.3 最大堆的实现maxheap.cpp 5.16.4 最大堆类的测试maxheapm.cpp 5.16.5 maxheapm.cpp运行结果 5.17 利用最大堆相关操作进行堆排序 第6章 图 6.1 图的类定义和实现 6.1.1 程序构思 6.1.2 图的相关数据类型的定义graph.h 6.1.3 图的相关运算的实现graph.cpp 6.1.4 图的相关运算的测试graphM.cpp 6.1.5 graphM.cpp运行结果 6.2 图的类定义和实现 6.2.1 程序构思 6.2.2 图的相关数据类型的定义graph0.h 6.2.3 图的相关运算的实现graph0.cpp 6.2.4 图的相关运算的测试graph0M.cpp 6.2.5 graph0M.cpp运行结果 6.2.6 分析 6.3 图的类定义和实现 6.3.1 程序构思 6.3.2 图的相关数据类型的定义graph1.h 6.3.3 图的相关运算的实现graph1.cpp 6.3.4 图的相关运算的测试graph1M.cpp 6.3.5 graph1M.cpp运行结果 6.4 利用普里姆算法求出用邻接矩阵表示的图的最小生成树 6.4.1 程序构思 6.4.2 图的相关数据类型的定义graph2.h 6.4.3 图的运算的实现文件graph2.cpp 6.4.4 图的相关运算的测试graph2M.cpp 6.4.5 graph2M.cpp运行结果 6.4.6 分析 6.5 利用克鲁斯卡尔方法求边集数组所示图的最小生成树 6.5.1 程序构思 6.5.2 图的相关数据类型的定义graph3.h 6.5.3 图的运算的实现文件graph3.cpp 6.5.4 图的相关运算的测试graph3M.cpp 6.5.5 graph3M.cpp运行结果 6.5.6 分析 6.6 狄克斯特拉算法(从一个顶点到其余各顶点的最短路径) 6.6.1 程序构思 6.6.2 最短路径(狄克斯特拉算法)PshortP.h 6.6.3 狄克斯特拉算法测试PshortPM.cpp 6.6.4 PShortPM.cpp运行结果 6.6.5 分析 6.7 最短路径(从一个顶点到其余各顶点的最短路径) 6.7.1 程序构思 6.7.2 最短路径(狄克斯特拉算法)PshortP1.cpp 6.7.3 算法测试 6.7.4 PShortP1.cpp运行结果 6.7.5 分析 6.8 最短路径(所有顶点之间的最短路径) 6.8.1 程序构思 6.8.2 最短路径SShortP.cpp 6.8.3 算法测试 6.8.4 SShortP.cpp运行结果 6.8.5 分析 6.9 最短路径(所有顶点之间的最短路径) 6.9.1 程序构思 6.9.2 最短路径SShortP1.cpp 6.9.3 算法测试 6.9.4 SShortP1.cpp运行结果 6.9.5 分析 6.10 最短路径(弗洛伊德算法、所有顶点之间的最短路径) 6.10.1 程序构思 6.10.2 最短路径(弗洛伊德算法)FloydP.h 6.10.3 弗洛伊德算法测试FloydP.cpp 6.10.4 FloydP.cpp运行结果 6.10.5 分析 6.11 最短路径(弗洛伊德算法、所有顶点之间的最短路径) 6.11.1 程序构思 6.11.2 弗洛伊德算法测试FloydPl.cpp 6.11.3 FloydPl.cpp运行结果 6.11.4 分析 6.12 拓扑排序 第7章 排序 7.1 桶排序 7.2 插入排序法(类方法) 7.3 插入排序法(类方法) 7.4 插入排序法 7.5 希尔排序法(类方法) 7.6 希尔排序 7.7 快速排序(类方法) 7.8 快速排序(类方法) 7.9 快速排序 7.10 快速排序 7.11 通用选择排序法 7.12 选择排序 7.13 选择排序法(下沉) 7.14 选择排序法(类方法) 7.15 选择排序法(函数模板、排序不改变原数组各元素的值) 7.16 选择排序法(函数模板、上浮) 7.17 选择排序法(排序后不改变原数组各元素的值) 7.18 通用冒泡排序法(下沉) 7.19 冒泡排序法(上浮) 7.20 冒泡排序法(下沉) 7.21 通用冒泡排序法(上浮) 7.22 归并排序(类方法) 7.23 归并排序法 7.24 堆排序法(类方法) 7.25 堆排序法 7.26 堆排序法(迭代器) 7.27 基数排序法(类方法) 7.28 基数排序法(函数模板) 7.29 锦标赛排序法 7.30 多种排序方法 7.31 K路平衡归并 7.32 对外存文件(磁盘文件)进行选择排序的算法 7.33 外存文件的排序操作(二路平衡归并) 第8章 查找 8.1 二分查找法(递归调用) 8.2 二分查找法(非递归调用) 8.3 二叉排序树的类定义与实现 8.3.1 程序构思 8.3.2 二叉排序树的类定义 8.3.3 二叉排序树的类实现 8.3.4 二叉排序树类的测试 8.3.5 BinSortT.cpp运行结果 8.4 Fibonacci查找法 8.5 平衡二叉搜索树类定义与实现 8.5.1 程序构思 8.5.2 平衡二叉搜索树类定义与实现AVLTREE.h 8.5.3 平衡二叉搜索树的类模板实现 8.5.4 平衡二叉搜索树类测试AVLTREEM.cpp 8.5.5 AVLTREEM.cpp运行结果 8.5.6 分析 8.6 顺序表的查找 8.7 B-树的操作 8.7.1 程序构思 8.7.2 B-树的操作B_Tree.cpp 8.7.3 B-树的相关操作的测试 8.7.4 B_Tree.cpp运行结果 8.8 B-树的(类方法)操作 8.8.1 程序构思 8.8.2 B-树的结点类型定义 8.8.3 B-树的类实现 8.8.4 B-树的类相关操作的测试 8.8.5 B_Treel.cpp运行结果 8.9 哈希表 8.9.1 程序构思 8.9.2 哈希表的结点类型定义 8.9.3 哈希表的操作实现 8.9.4 哈希表的相关操作的测试 8.9.5 hashtable.cpp运行结果 8.10 散列表类定义与实现 8.10.1 程序构思 8.10.2 散列表类定义LHashL.h 8.10.3 散列表类的实现LHashL.cpp 8.10.4 散列表类的相关操作的测试 8.10.5 LHashLM.cpp运行结果 8.10.6 分析 第9章 文件 9.1 散列文件的插入、删除和查找操作 9.1.1 程序构思 9.1.2 散列文件的类模板定义、插入、删除和查找操作HashFM.cpp 9.1.3 散列文件的类模板实现 9.1.4 散列文件的类模板实现的测试 9.1.5 HashFM.cpp运行结果 9.2 索引文件的相关操作 9.2.1 程序构思 9.2.2 索引文件的相关操作IndexF.cpp 9.2.3 索引文件的类模板实现 9.2.4 索引文件的类模板实现的测试IndexFM.cpp 9.2.5 IndexFM.cpp运行结果 参考文献
还剩385页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf