摘要: 一 JDK环境配置 由于项目用的JDK17,所以单独给Hadoop配了JDK11,建议直接配置JAVA_HOME环境变量为JDK11,因为后面Spark需要用到JAVA_HOME 下载JDK11 链接:https://www.oracle.com/java/technologies/javase/j 阅读全文
posted @ 2023-05-31 19:57 ShibuyaKanon 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 染色法 一个图是二分图 当且仅当 她可以被2染色(不含有奇数环) 流程如下,先找到一个不在集合中的点 把他放在左边 然后遍历这个点有连接的点,把这些点放到右边,再依次遍历放到右边的点的邻点 模板 int n; // n表示点数 int h[N], e[M], ne[M], idx; // 邻接表存储 阅读全文
posted @ 2023-01-13 11:18 ShibuyaKanon 阅读(48) 评论(0) 推荐(0) 编辑
摘要: Prim 先初始化距离,全部是正无穷,然后 n 次迭代,每次迭代执行: 1.找到 不在集合当中的 距离最小的点(这里的集合是 当前的生成树 2.用这个点更新其他点到集合的距离 举例,我们有如下图 第一步,让所有点到集合的距离变 +无穷 然后因为所有点的距离都是正无穷,所以我们随便挑一个点作为第一个点 阅读全文
posted @ 2023-01-13 11:18 ShibuyaKanon 阅读(12) 评论(0) 推荐(0) 编辑
摘要: Bellman-Ford 循环 n 次,每一次循环所有边 这个算法的存边比较简单,只需要让我可以遍历到所有边就可以,那么可以直接开一个结构体 遍历所有边的时候,更新一下 dist 数组即可 Bellman-Ford 证明了在循环完之后一定满足 dist[b] <= dist[a] + w 三角不等式 阅读全文
posted @ 2023-01-08 10:31 ShibuyaKanon 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 最短路分为 单源最短路 和 多源汇最短路 单源一般是求从一个点 到其他所有点的最短距离 源点 起点 汇点 终点 多源就是会有很多个询问,起点和终点都是不确定的 单源中又可以分为 所有边都是正数的 和 存在负权边的 朴素版 比方说我们有图如下 1-->2 距离为2 2-->3 距离为1 1-->3 距 阅读全文
posted @ 2023-01-07 10:26 ShibuyaKanon 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 树和图的存储 树是一种特殊的图,无环连通图 图分为有向图和无向图 如果是无向图就建立两个边 a -> b && b -> a ,所有无向图就是特殊的有向图 邻接矩阵 g[a,b] 记录 a -> b 如果有权重,其值就是权重,没有权重这个值就是一个 布尔值,true代表有边,邻接矩阵不能存储重边 邻 阅读全文
posted @ 2023-01-05 19:41 ShibuyaKanon 阅读(41) 评论(0) 推荐(0) 编辑
摘要: DFS 深度优先搜索会搜得比较深,当搜到叶子结点的时候就会回溯 graph TD; a-->b-->d-->i-->r a-->c-->g-->n b-->e-->k b-->f-->m c-->h-->p d-->j e-->l g-->o h-->q i-->s 该图的深搜序列就是: a->b- 阅读全文
posted @ 2023-01-02 16:50 ShibuyaKanon 阅读(34) 评论(0) 推荐(0) 编辑
摘要: STL vector, 变长数组,倍增的思想 size() 返回元素个数 empty() 返回是否为空 clear() 清空 front()/back() push_back()/pop_back() begin()/end() [] 支持比较运算,按字典序 pair<int, int> first 阅读全文
posted @ 2022-10-18 16:35 ShibuyaKanon 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 哈希表 存储结构 开放寻址法 拉链法 作用 将一个 -10^9^~10^9^的数 通过 x mod 10^5^ 映射到 [0,10^5^] mod 的数一般要取成一个质数 如果发生冲突,(将两个不一样的数,映射成了同样的数) 例子 840. 模拟散列表 - AcWing题库 维护一个集合,支持如下几 阅读全文
posted @ 2022-10-17 17:55 ShibuyaKanon 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 堆 如何手写一个堆? 插入一个数 heap[++size] = x;up(x); 求集合当中的最小值 heap[1] 删除最小值 heap[1] = heap[size];size--;down(1); 删除任意一个元素 heap[k] = heap[size];size--;down(k) or 阅读全文
posted @ 2022-10-16 11:11 ShibuyaKanon 阅读(32) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示