
数据结构
文章平均质量分 72
常用数据结构的用法
meraki
这个作者很懒,什么都没留下…
展开
-
力扣:1584.连接所有点的最小费用【kruskal/prim】【结构体和stl速度】
力扣:1584.连接所有点的最小费用【kruskal/prim】【结构体和stl速度】1、 问题描述给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示 val 的绝对值。请你返回将所有点连接的最小总费用。只有任意两点之间 有且仅有 一条简单路径时,才认为所有点都已连接。示例 1:输入:p原创 2022-04-01 14:48:08 · 198 阅读 · 0 评论 -
力扣:1584.连接所有点的最小费用【kruskal】【结构体和stl速度】
力扣:1584.连接所有点的最小费用【kruskal】【结构体和stl速度】1、 问题描述给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示 val 的绝对值。请你返回将所有点连接的最小总费用。只有任意两点之间 有且仅有 一条简单路径时,才认为所有点都已连接。示例 1:输入:points原创 2022-04-01 12:34:41 · 1135 阅读 · 0 评论 -
力扣:990.等式方程的可满足性【并查集算法解析】
力扣:990.等式方程的可满足性【并查集】1、题目描述给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:"a==b" 或 “a!=b”。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回 true,否则返回 false。示例 1:输入:[“a==b”,“b!=a”]输出:false解释:如果我们指定,a = 1 且 b = 1,那么可以满原创 2022-04-01 10:28:57 · 313 阅读 · 0 评论 -
力扣:185.判断二分图——二分图
力扣:185.判断二分图——二分图1.题目描述存在一个 无向图 ,图中有 n 个节点。其中每个节点都有一个介于 0 到 n - 1 之间的唯一编号。给你一个二维数组 graph ,其中 graph[u] 是一个节点数组,由节点 u 的邻接节点组成。形式上,对于 graph[u] 中的每个 v ,都存在一条位于节点 u 和节点 v 之间的无向边。该无向图同时具有以下属性:不存在自环(graph[u] 不包含 u)。不存在平行边(graph[u] 不包含重复值)。如果 v 在 graph[u] 内,那原创 2022-03-31 16:54:26 · 292 阅读 · 0 评论 -
力扣:207.课程表——拓扑排序算法
力扣:207.课程表——拓扑排序算法1. 题目描述你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1 。请你判断是否可能完成所有课程的学习?如果可以,返回 true ;原创 2022-03-31 14:17:47 · 1311 阅读 · 0 评论 -
数据结构:C++ STL queue
数据结构:C++ STL queuequeue:先进先出队列,只能在容器的末尾添加新元素,只能从头部移除元素。1. 函数列表函数名作用empty()该函数用于测试队列是否为空。如果队列为空,则该函数返回true,否则返回false。size()该函数返回队列中元素的个数。front()该函数返回第一个元素。元素起着非常重要的作用,因为所有的删除操作都是在front元素上执行的。back()该函数返回最后一个元素。该元素起着非常重要的作用,因为所有插入操作都原创 2022-03-20 20:07:41 · 198 阅读 · 0 评论 -
数据结构:C++STL deque 容器
数据结构:C++STL deque 容器deque 是 double-ended queue 的缩写,又称双端队列容器。1、初始化#include<deque>//deque头文件//创建一个空dequedeque<int> deq;//创建一个大小为10的dequedeque<int> deq(10);//创建一个大小为10,初值为1的dequedeque<int> deq(10,1);//在已有 deque 容器的情况下,通过拷原创 2022-03-11 12:57:26 · 1377 阅读 · 0 评论 -
数据结构:C++ STL 哈希表(unordered_map)
数据结构:C++ STL 哈希表(unordered_map)unordered_map 容器,直译过来就是"无序 map 容器"的意思。所谓“无序”,指的是 unordered_map 容器不会像 map 容器那样对存储的数据进行排序。换句话说,unordered_map 容器和 map 容器仅有一点不同,即 map 容器中存储的数据是有序的,而 unordered_map 容器中是无序的。1.哈希表创建unordered_map头文件;unordered_map<T,T> m原创 2022-03-12 23:16:27 · 7945 阅读 · 0 评论 -
数据结构:C++ STL Vector
数据结构:C++ STL Vectorvector是一个能够存放任意类型的动态数组,能够增加和压缩数据。vector头文件#include<vector>注意,vector的元素可以是任何类型,包括结构体,结构体需要定义为全局结构体。1.构造函数vector():创建一个空vectorvector(int nSize):创建一个vector,元素个数为nSizevector(int nSize,const t& t):创建一个vector,元素个数为nSize,且原创 2022-03-11 21:24:22 · 166 阅读 · 0 评论