树
古河渚Nagisa
雪中智代雨中杏,樱下古河花田汐。
香醇宫泽黑琴美,天际芽衣黄昏琼
展开
-
并查集入门
【简介】 并查集(Union Find)是一种用于管理分组的数据结构。它具备两个操作:(1)查询元素a和元素b是否为同一组 (2) 将元素a和b合并为同一组。 核心代码: 1.查询代码int find(int k){//寻找根节点 if(node[k].father==k) return k; else{ node[k].father=find(no转载 2017-08-31 15:16:47 · 206 阅读 · 0 评论 -
kruskal算法入门
【简介】克鲁斯卡尔算法是一种用来寻找最小生成树的算法。在剩下的所有未选取的边中,找最小边,如果和已选取的边构成回路,则放弃,选取次小边。即给定一些线段的x,y和权值,当x,y不在一个集合的时候,选取权值最小的一个边,然后把x,y合并到一个集合中(并查集维护)我们用现在来模拟一下Kruskal算法,下面给出一个无向图B,我们使用Kruskal来找无向图B的最小生成树。 首先,我们将所有的边都转载 2017-08-31 15:32:54 · 696 阅读 · 0 评论 -
合并果子(小根堆)
void put(int x){//放入元素 int pre,post;//前驱和后继 heap[size++]=x;//申请一块区域存储x pre=size;//前区为x的编号 while(pre>1){//从编号向1搜索 post=pre/2;//找父节点 if(heap[post]<=heap[pre])//如果父节点原创 2017-10-05 09:56:56 · 657 阅读 · 0 评论