数据结构
数据结构实验记录
� 晶妹妹
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【数据结构】求单源最短路径的C++实现
求单源最短路径Dijkstra算法(适用于正权图)方法代码Bellman算法(适用于含有负权边的图)方法代码其他辅助的文件Dijkstra算法(适用于正权图)方法最短路径:Dijkstra算法首先 对于没有mark的点,如果只通过marked的点就可以有更小的路径的话是不可能的,因为已经marked过的点能到达的所有路径已经都试过了 所以只可能通过其他的一点代码#pragma once#include<stdio.h>#include<cassert>#inclu原创 2020-05-12 14:43:04 · 580 阅读 · 0 评论 -
【数据结构】最小生成树的C++实现
这里写目录标题LazyPrimeMSTPrimeMSTKruskal使用到的数据结构的实现最小堆最小索引堆并查集描述边的数据结构 Edge稀疏图使用邻接表 元素为Edge*稠密图使用邻接矩阵 元素为Edge*测试函数LazyPrimeMST使用的数据结构 最小堆#pragma once#include<stdio.h>#include<cassert>#include<vector>#include"MinHeap.h"#include"Edge.h"u原创 2020-05-10 18:13:03 · 770 阅读 · 0 评论 -
【数据结构】图的表示以及遍历的C++实现
注意stringstream 类的使用 完成string到int的类型转化先clear再str("")实现重复使用typename Graph目录稀疏图的邻接表实现稠密图的邻接矩阵实现模板类实现各种类型图的测试从文件中读取图深度优先搜索遍历深度优先搜索遍历并输出查询路径广度优先搜索实现图的遍历和路径表示稀疏图的邻接表实现#pragma once#include <iostream&...原创 2020-05-06 17:15:08 · 270 阅读 · 0 评论 -
【数据结构】并查集Union类的实现和优化
并查集这种数据结构使用数组实现 虽然是树形结构 但是是数组实现原始形式每一个元素都有自己id值 如果id值一样 就是一组元素合并时 遍历每一个元素 更改其id值#pragma once#include <iostream>#include<cassert>using namespace std;//没个元素都有自己id值 如果id值一样 就是一组元素//合...原创 2020-05-06 02:05:16 · 263 阅读 · 0 评论 -
【数据结构】二叉搜索树的C++实现和优化测试
私有成员变量private: struct Node { Key key;//键 Value value;//值 Node* left;//左子树 Node* right;//右子数 Node(Key k, Value v)//节点类型 { key = k; value = v; left = NULL; right = NULL; } ...原创 2020-05-06 01:52:04 · 216 阅读 · 0 评论 -
【数据结构】二叉线索树插入元素的三种方法
二叉线索树插入元素的四种方法关于函数间接修改指针值递归返回节点递归返回void循环插入 临时变量为二级指针循环插入 临时变量为一级指针关于函数间接修改指针值树的遍历不涉及子叶的修改 所以不用考虑返回值和指针的问题链表的逆序一般用的是循环 所以也不用考虑char p[15] = "abcdef";char p2[15] = "1235abcdef";void change(char**...原创 2020-05-04 16:52:33 · 1058 阅读 · 0 评论 -
【数据结构】排序算法总结和优化以及测试函数
各种排序算法测试用的函数生成随机数组生成近乎有序的随机数组打印数组判断是否完成测试时间复制数组定义不同的数据类型进行测试定义学生类型并为了方便比较进行操作符重载测试函数 主函数冒泡排序选择排序插入排序原始方式 每次都进行交换优化的方式其他函数调用时进行参数修改归并排序原始方式主函数递归调用排序函数merge函数优化自底向上的方法(从小到大 不用递归)快速排序原始方式主函数递归函数分类函数 part...原创 2020-05-03 14:51:50 · 560 阅读 · 0 评论 -
【数据结构】哈希表类的C++实现
大概就是给一堆数据,根据数据的值决定它的储存位置,比如新建一个大小为20的数组,把元素10放在10的位置,15放在15的位置,元素和位置的关系由哈希函数决定,这里用的是除留取余函数。using namespace std;#define HASHSIZE 12#define NULLKEY -327168class HashTable{private: int* elem;//元...原创 2020-05-01 10:55:45 · 1172 阅读 · 0 评论 -
【数据结构】递归法解决八皇后问题
注意二维数组为数组指针,作为函数参数必须有第二维的值。如果是主调函数是指针数组,那么函数参数可以直接是二级指针。如果主调函数是二级指针,函数参数为二级指针。二级指针做输入的三种情况数组指针/二维数组做输入 int (*p)[3]或者int p[2][3]指针数组做输入 int* p[];二级指针作输入 int **p;如何实现退出第7行后 第7行数据清零 通过将原来的矩阵复制...原创 2020-04-28 00:57:29 · 239 阅读 · 0 评论 -
【数据结构】用模板类链表实现队列
注意析构函数写的时候先调用清空函数 然后调用LIST的析构函数 我开始想要怎么才能从外部调用list的析构函数 原来用delete就可以 神奇在cpp文件也要加上program once了,因为头文件中包含的link.cpp和seq.cpp中也有link.cpp析构函数template <typename T>Seq<T>::~Seq(){ clear()...原创 2020-04-23 00:34:19 · 328 阅读 · 0 评论 -
C++模板类实现链表
注意链表中要包含Node的结构体,用来把节点放进去只有出现Node就要加<T> ,不然会报错有类模板的重新编译记得清空再重新生成清除链表时使用的循环清空头结点的思想需要记得(C语言中一样循环调用清除0号元素也可以)Debug和Release编译不同,一步一步执行时顺序不一样,不知道为啥了,不过不重要,结果一样自己写的清空函数template <typename ...原创 2020-04-23 00:00:36 · 1056 阅读 · 1 评论 -
【数据结构】用C++模板类实现线性表
注意模板类编程头文件要包含CPP今天头疼 剩下的忘了头文件#pragma once#define _CRT_SECURE_NO_WARNINGS template <typename T>class List{public: List(int capacity); ~List(); int getlen(); int getcapacity(); int...原创 2020-04-22 22:38:16 · 385 阅读 · 0 评论 -
【数据结构】二叉树的遍历、求深度、求高度
关于递归初步理解先找到终止条件 return 1然后找到关系 f(n)=n*f(n-1)进行递归三种遍历类型的路径相同 但是访问时机不同就形成了三种遍历方式 先序遍历 中序遍历 后序遍历(数遍历的时候可能不可以选哪种遍历类型 例如计算深度要将父节点深度先计算传给子节点计算高度要先计算两个子节点的高度再进行比较拷贝树需要先拷贝两个子节点然后将左右节点连接到子节点顺序不能变 )...原创 2020-04-21 01:26:27 · 2336 阅读 · 0 评论 -
【数据结构】括号匹配
利用栈来实现字符串的左右括号匹配思路:对于字符串遍历左括号字符入栈遇到右括号字符就从栈顶弹出原素弹出和右括号进行匹配如果匹配成功继续 匹配不成果报错注意入栈的是字符串的地址 不能说会变的临时变量接字符串时需要用char*类型去接 并且进行强制类型转换匹配的时候再用*out表示弹出元素取地址 为char类型变量#include<stdio.h>#inclu...原创 2020-04-20 15:32:14 · 804 阅读 · 0 评论 -
【数据结构】链表实现栈
学会调用写过的函数把插入的元素挂到链表节点下面 形成一个栈节点注意释放内存 节点弹出时释放栈的实现CPP文件#include<stdio.h>#include<stdlib.h>#include<string.h>#include"StackLink.h"//学会调用之前写的函数StackList* Stack_creat(){ ret...原创 2020-04-20 14:45:40 · 384 阅读 · 0 评论 -
【数据结构】单向链表的实现
单向链表的实现记录 非常菜鸡的开始节点中定义节点时 成员变量要写struct 因为没写报了一堆错老师节点里的node都是变量类型,只有LinkNode内部是指针类型,内部使用指针,指针大小为4个字节 可以分配内存很方便。注意teacher输入的时候为地址 各种指针类型的转换main函数中输入为地址 强制转换成节点指针类型每个函数读取链表list时是链表类型void 用的时候要转换成头...原创 2020-04-20 13:46:59 · 181 阅读 · 0 评论
分享