摘要:
堆可以用二叉树存储。 当前节点比左右子节点的值都小或等于(小根堆)。 对于完全二叉树,根节点编号为1,则,对于编号为n的节点,左子节点编号为2n,右子节点标号为2n+1。 完全二叉树可以用一维数组存储(编号→下标) 基本操作:up和down up:当节点数值比父节点小时,交换当前节点与父节点的值,然 阅读全文
posted @ 2021-12-19 20:42
80k
阅读(66)
评论(0)
推荐(0)
摘要:
并查集支持操作: 1、将两个集合合并 2、询问两个元素是否在一个集合当中 每个集合用一棵树来表示,以根节点编号表示整个集合,每个节点存储父节点p[x] 判断树根 if(p[x]==x) 求集合编号 while(p[x]!=x) x=p[x]; 合并集合:x和y,x→根节点x,p[x]=y。 优化:路 阅读全文
posted @ 2021-12-19 19:16
80k
阅读(164)
评论(0)
推荐(0)
摘要:
Trie树可以用来存储前缀字符串/数组。 可以用数组进行模拟 son[N][26] 记录节点的son cnt[N] 记录以当前节点为最后字符的字符串出现的次数 idx当前用到的节点 例题 143. 最大异或对 #include<iostream> using namespace std; const 阅读全文
posted @ 2021-12-19 18:51
80k
阅读(78)
评论(0)
推荐(0)

浙公网安备 33010602011771号