![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
没事多喝白开水
这个作者很懒,什么都没留下…
展开
-
C++中数组栈模板、数组队列模板、循环队列模板、链表队列模板
动态数组来自于上一篇文章1、使用动态数组模板创建栈模板2、使用动态数组模板创建队列模板3、重新创建队列模板- 头文件1Array.h#pragma oncetemplate<typename T>class Array{public: Array(int capacity); Array(); T& operator[](int i); int Ge...原创 2019-06-01 21:58:16 · 372 阅读 · 0 评论 -
C++ 图 最小生成树优化
用索引堆代替堆#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <string>#include <fstream>#include <sstream>#include <cassert>#include <vector>#include ...原创 2019-07-17 23:39:05 · 234 阅读 · 0 评论 -
C++ 图 最小生成树
切分定理:任意切分的横切边,权值最小的属于最小生成树。一点出发,按切分定理逐渐找横切边#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <string>#include <fstream>#include <sstream>#include <cassert&...原创 2019-07-17 22:08:45 · 393 阅读 · 0 评论 -
C++有权图
对无权图做了修改#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <string>#include <fstream>#include <sstream>#include <cassert>#include <vector>#include &...原创 2019-07-17 21:26:36 · 274 阅读 · 0 评论 -
C++ 图的路径
1、深度优先遍历获取//深度优先遍历template <typename Graph>class Component {private: Graph &G; bool *visited; int ccount; int *id; void dfs(int v) { visited[v] = true; id[v] = ccount; typenam...原创 2019-07-17 21:04:49 · 593 阅读 · 0 评论 -
C++ 图的深度优先遍历
#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <string>#include <fstream>#include <sstream>#include <cassert>#include <vector>#include <ctime&...原创 2019-07-17 20:23:35 · 339 阅读 · 0 评论 -
C++ 图基础
1、分类无向图有向图无权图有权图2、简单图没有自环边与平行边3、图的表示邻接矩阵 适合稠密图(完全图)// 稠密图 - 邻接矩阵class DenseGraph {private: int n, m; bool directed; vector<vector<bool>> g;public: De...原创 2019-07-17 19:39:01 · 376 阅读 · 0 评论 -
C++实现简单的红黑树
红黑树简单介绍红黑树是带有颜色属性的自平衡二叉查找树。对红黑树的操作在最坏情形下花费O(logN)时间,红黑树的高度最多是2log(N+1)。红黑树是具有下列着色性质的二叉查找树:1、每一个节点或者着成红色,或者着成黑色;2、根是黑色的;3、如果一个节点是红色的,那么它的子节点必须是黑色的;4、从一个节点到一个NULL指针的每一条路径必须包含相同数目的黑色节点。作者:下午茶609 ...原创 2019-07-14 19:33:03 · 242 阅读 · 0 评论 -
C++实现简单AVL树与二分搜索树
主要包括添加、删除、遍历等功能#define _CRK_SECURE_NO_WARNINGS#include <iostream>#include <fstream>#include <sstream>#include <vector>using namespace std;int max(int a, int b) { retur...原创 2019-07-14 17:00:18 · 273 阅读 · 0 评论 -
C++ 并查集
几个并查集的C++实现1、接口UF.h#pragma onceclass UF {public: virtual int GetSize() = 0; virtual bool IsConnected(int p,int q) = 0; virtual void UnionElements(int p,int q) = 0;};2、几种简单实现#define _CRT_SE...原创 2019-07-13 23:18:37 · 150 阅读 · 0 评论 -
由Leetcode衍生简单线段树
创建线段树;查询某一段元素和;更新某一个值。#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include <string>#include <vector>#include <set>#include <map>#include <queue>#incl...原创 2019-07-13 13:18:48 · 243 阅读 · 0 评论 -
C++ 二分搜索树
BST.hpp#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include <stack>using namespace std;template<class T>class Node{public: T data; Node* left; Node* right; Node(T e...原创 2019-06-09 17:48:53 · 451 阅读 · 0 评论 -
C++实现链表模板、链表栈模板、数组栈模板
数组栈来自于上一篇文章(头文件1、2,源文件1、2)1、实现链表模板2、创建链表栈模板3、比较数组栈和链表栈1. 头文件1Array.h#pragma oncetemplate<typename T>class Array{public: Array(int capacity); Array(); T& operator[](int i); int...原创 2019-06-02 16:38:51 · 302 阅读 · 0 评论 -
C++ 图 Kruskal最小生成树算法
权值排序,依次取出,判断闭环#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <string>#include <fstream>#include <sstream>#include <cassert>#include <vector>#in...原创 2019-07-17 23:56:29 · 218 阅读 · 0 评论