- 博客(3)
- 收藏
- 关注
原创 哈弗曼树
哈弗曼树是能保证权值*路径的和最小的数据结构哈弗曼树的构造是建立在小根堆以上的首先先建立一个小根堆每次取出小根堆的两个顶端元素再把两个元素相加放入小根堆中直到只剩一个元素ans就是最小权值之和 long long ans=0; while (len>1) { long long a,b; a=p[1];
2017-02-19 15:48:19 326
原创 堆结构
堆这种数据结构呢,就是一种能保证堆顶元素是最大元素,或最小元素的一种数据结构,维护时间为log2 N下面介绍我们就拿最大堆来说,不失一般性首先说堆的结构:堆的结构就一个要求,根节点大于他的两个子节点首先说元素的删除,我们只能删除堆顶元素我们删除堆顶元素后将堆尾元素heap【top】与堆顶元素heap【1】交换 此时堆的长度top=top-1;
2017-02-16 16:32:51 624
原创 看懂树状数组
恩,今天一下午都花在搞树状数组上面去了吧。现在才认清楚树状数组的一些东西。我们先看树状数组的结构如图他的规律就是c[x]永远有一条线连到a[x],c[x]之前绝对没有连到a[x]的线 c[2^n]=a[1]到a[2^n]的和 c[2k+1]=a[2k+1]
2017-02-10 20:51:52 350
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人