当前位置: 首页 > news >正文

东莞网站制作电话免费建站源码

东莞网站制作电话,免费建站源码,360推广平台登录入口,上海装修设计并查集的定义 将n个不同的元素划分成一些不相交的集合。开始时#xff0c;每个元素自成一个单元素集合#xff0c;然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一个元素归属于那个集合的运算。适合于描述这类问题的抽象数据类型称为并查集(unio…并查集的定义 将n个不同的元素划分成一些不相交的集合。开始时每个元素自成一个单元素集合然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一个元素归属于那个集合的运算。适合于描述这类问题的抽象数据类型称为并查集(union find set) 并查集的抽象描述 struct UnionFindSet 属性 数个不相交的集合,通过数组管理 vector 方法 检查两个元素是否属于同一个集合 bool inSameSet(e1,e2); 寻找集合的根元素 e findEigen(e) ; 合并两个元素所在的集合 void merge(e1,e1); 计算当前集合个数 size_t getCnt(); 如何表示同一个集合的元素 可以借助数组抽象结构的方法对同一集合的元素进行分类为了方便后续把代表某个集合的元素成为特征元素 首先把每一个元素都被映射成了一个唯一的编号idid同时也作为数组的下标 规定每一个下标所对应值为集合中其他元素的编号id如果数组中某一个id位置的值为-x代表它是一个特征元素,并且集合中有x个元素 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/acbe9e49efa14b8d80c19692a2c4e07e.png 并查集具体实现 //此处代码忽略了映射关系的构建数组下标值就是对应的真实元素值 class UnionFindSet { private:vectorint ufs; public:UnionFindSet(unsigned int n0):ufs(n,-1){} //初始状态所有的元素都各自为一个集合元素之间没有任何关系unsigned int getCnt(){unsigned int cnt0;for(int x:ufs) if(x-1) cnt;return cnt;} //统计ufs数组中-1的个数即可获得集合个数unsigned int findEigen(unsigned int e){ unsigned int eigenvale;while(ufs[eigenval]0) eigenvalufs[eigenval];return eigenval;} //迭代向上寻找直至数组中的值为-1bool inSameSet(unsigned int e1,unsigned int e2){return findEigen(e1)findEigen(e2);}void merge(unsigned int e1,unsigned int e2){unsigned int eigen1findEigen(e1);unsigned int eigen2findEigen(e2);if(eigen1!eigen2) {ufs[eigen1]ufs[eigen2];ufs[eigen2]eigen1;}//把e2所在集合的特征元素对应的值改为e1所在集合的特征元素即可完成2个集合的合并} };优化合并与查找 合并优化小集合合并到大集合中做到更多的元素能在短时间内找到特征元素 void merge(unsigned int e1,unsigned int e2) {unsigned int eigen1findEigen(e1);unsigned int eigen2findEigen(e2);if(eigen1!eigen2){if(ufs[eigen1]ufs[eigen2]) swap(eigen1,eigen2); //统一规定集合eigen1的元素个数更大ufs[eigen1] ufs[eigen2];ufs[eigen2]eigen1;} }查找优化最理想的情况是每一个节点至多一次找到所在集合的特征元素 可以考虑每一次进行findEigen查找时对集合元素关系进行调整使得每一个元素在集合中更接近特征元素 unsigned int findEigen(unsigned int e) {unsigned int eigen e, prev -1;while (_ufs[eigen] 0) {int tmp ufs[eigen];//向上查找if (prev0) ufs[prev] tmp;prev eigen;eigen tmp;}return eigen; }上述代码未经测试可能存在bug经测试版代码请参考https://gitee.com/chxchenhaixiao/test_c/blob/master/UnionFindSet/UnionFindSet.h LRU cache LRU是Least Recently Used的缩写意思是最近最少使用它是一种Cache替换算法 简单地说就是淘汰长久未使用的数据cache的大小是固定有限的当空间满时如果还需要加入数据就必须淘汰部分先前的数据 可以把每一个数据块通过一个双向链表级联人为规定链表尾节点为长时间未使用即将被淘汰的资源链表头节点为最近使用的数据借助哈希表实现对各个数据块的快速定位达到增删查改的时间复杂度均为O1 代码实现 class LRUCache {size_t _size0; //链表当前长度size_t _capacity; //cache最大容量listpairint,int _list;typedef listpairint,int::iterator iterator;unordered_mapint,iterator _map; public:LRUCache(int capacity) :_capacity(capacity){}int get(int key) {if(!_map.count(key)) return -1;iterator it_map[key];int valit-second;_list.push_front(*it);_list.erase(it);_map[key]_list.begin();return val;}void put(int key, int value) {if(_map.count(key)) //更新节点{iterator it_map[key];it-secondvalue;_list.push_front(*it);_list.erase(it);_map[key]_list.begin();}else{if(_size_capacity){_size;_list.push_front({key,value});_map[key]_list.begin();}else{auto last_list.back(); //获取链表尾节点_map.erase(last.first); //删除map中指向尾的映射关系_list.pop_back(); //删除链表尾节点_list.push_front({key,value}); //头插_map[key]_list.begin(); //更新map}}} };
文章转载自:
http://www.morning.znknj.cn.gov.cn.znknj.cn
http://www.morning.nnhrp.cn.gov.cn.nnhrp.cn
http://www.morning.qllcp.cn.gov.cn.qllcp.cn
http://www.morning.cflxx.cn.gov.cn.cflxx.cn
http://www.morning.hyxwh.cn.gov.cn.hyxwh.cn
http://www.morning.ljzgf.cn.gov.cn.ljzgf.cn
http://www.morning.qlry.cn.gov.cn.qlry.cn
http://www.morning.sxfmg.cn.gov.cn.sxfmg.cn
http://www.morning.dskzr.cn.gov.cn.dskzr.cn
http://www.morning.ypcbm.cn.gov.cn.ypcbm.cn
http://www.morning.dpdr.cn.gov.cn.dpdr.cn
http://www.morning.phxdc.cn.gov.cn.phxdc.cn
http://www.morning.ywpcs.cn.gov.cn.ywpcs.cn
http://www.morning.xmyrn.cn.gov.cn.xmyrn.cn
http://www.morning.bauul.com.gov.cn.bauul.com
http://www.morning.dtrz.cn.gov.cn.dtrz.cn
http://www.morning.kghss.cn.gov.cn.kghss.cn
http://www.morning.ryfqj.cn.gov.cn.ryfqj.cn
http://www.morning.ldnrf.cn.gov.cn.ldnrf.cn
http://www.morning.tdhxp.cn.gov.cn.tdhxp.cn
http://www.morning.rnnwd.cn.gov.cn.rnnwd.cn
http://www.morning.cttgj.cn.gov.cn.cttgj.cn
http://www.morning.dzqyn.cn.gov.cn.dzqyn.cn
http://www.morning.jydky.cn.gov.cn.jydky.cn
http://www.morning.lkthj.cn.gov.cn.lkthj.cn
http://www.morning.tcfhs.cn.gov.cn.tcfhs.cn
http://www.morning.fjfjm.cn.gov.cn.fjfjm.cn
http://www.morning.lpskm.cn.gov.cn.lpskm.cn
http://www.morning.qrpdk.cn.gov.cn.qrpdk.cn
http://www.morning.lonlie.com.gov.cn.lonlie.com
http://www.morning.kgphd.cn.gov.cn.kgphd.cn
http://www.morning.gyrdn.cn.gov.cn.gyrdn.cn
http://www.morning.psdbf.cn.gov.cn.psdbf.cn
http://www.morning.rtbhz.cn.gov.cn.rtbhz.cn
http://www.morning.blqsr.cn.gov.cn.blqsr.cn
http://www.morning.rmtmk.cn.gov.cn.rmtmk.cn
http://www.morning.tzpqc.cn.gov.cn.tzpqc.cn
http://www.morning.swkpq.cn.gov.cn.swkpq.cn
http://www.morning.xhkgl.cn.gov.cn.xhkgl.cn
http://www.morning.lcqrf.cn.gov.cn.lcqrf.cn
http://www.morning.mlcnh.cn.gov.cn.mlcnh.cn
http://www.morning.scjtr.cn.gov.cn.scjtr.cn
http://www.morning.xhjjs.cn.gov.cn.xhjjs.cn
http://www.morning.fslxc.cn.gov.cn.fslxc.cn
http://www.morning.hmtft.cn.gov.cn.hmtft.cn
http://www.morning.ndpzm.cn.gov.cn.ndpzm.cn
http://www.morning.crkmm.cn.gov.cn.crkmm.cn
http://www.morning.lpzyq.cn.gov.cn.lpzyq.cn
http://www.morning.smsjx.cn.gov.cn.smsjx.cn
http://www.morning.bqwnp.cn.gov.cn.bqwnp.cn
http://www.morning.sloxdub.cn.gov.cn.sloxdub.cn
http://www.morning.ypzr.cn.gov.cn.ypzr.cn
http://www.morning.kcypc.cn.gov.cn.kcypc.cn
http://www.morning.rhlhk.cn.gov.cn.rhlhk.cn
http://www.morning.rbkgp.cn.gov.cn.rbkgp.cn
http://www.morning.zpzys.cn.gov.cn.zpzys.cn
http://www.morning.kkhf.cn.gov.cn.kkhf.cn
http://www.morning.pabxcp.com.gov.cn.pabxcp.com
http://www.morning.yrmgh.cn.gov.cn.yrmgh.cn
http://www.morning.mrxqd.cn.gov.cn.mrxqd.cn
http://www.morning.kczkq.cn.gov.cn.kczkq.cn
http://www.morning.spftz.cn.gov.cn.spftz.cn
http://www.morning.rfqkx.cn.gov.cn.rfqkx.cn
http://www.morning.bmts.cn.gov.cn.bmts.cn
http://www.morning.tbqxh.cn.gov.cn.tbqxh.cn
http://www.morning.ztjhz.cn.gov.cn.ztjhz.cn
http://www.morning.plqhb.cn.gov.cn.plqhb.cn
http://www.morning.lmyq.cn.gov.cn.lmyq.cn
http://www.morning.qbzdj.cn.gov.cn.qbzdj.cn
http://www.morning.nclbk.cn.gov.cn.nclbk.cn
http://www.morning.pcwzb.cn.gov.cn.pcwzb.cn
http://www.morning.npcxk.cn.gov.cn.npcxk.cn
http://www.morning.bpp999.com.gov.cn.bpp999.com
http://www.morning.fwgnq.cn.gov.cn.fwgnq.cn
http://www.morning.kgrwh.cn.gov.cn.kgrwh.cn
http://www.morning.kqwsy.cn.gov.cn.kqwsy.cn
http://www.morning.bpmtz.cn.gov.cn.bpmtz.cn
http://www.morning.sjwqr.cn.gov.cn.sjwqr.cn
http://www.morning.qypjk.cn.gov.cn.qypjk.cn
http://www.morning.ypdhl.cn.gov.cn.ypdhl.cn
http://www.tj-hxxt.cn/news/267209.html

相关文章:

  • 小程序做视频网站青岛wordpress建站
  • 济南 网站 建设企业网站备案密码怎么找回
  • 贵阳市公共住宅投资建设集团官方网站中型网站开发语言
  • 温州专业网站建设推广wp打开wordpress
  • 网站服务器崩溃怎么办dz网站建设教程
  • 网站建站网站45133网站建设实验心得
  • 实用设计网站推荐wordpress猫咪主题
  • 做网站用虚拟主机还是服务器有什么教人做论文的网站吗
  • 如何让百度收录网站邢台视频推广
  • 仿淘宝网站模板一品在线视频观看
  • php网站开发过程专题探索网站开发模式特点
  • 企业网站设计 优帮云软件定制论坛
  • 手机建站服务WordPress数据库名要填什么
  • 网站建设费 什么科目宁波网站建设怎么做
  • 网页设计制作网站论文成都专业网站建设公司
  • 做英文网站需要哪些东西成都网站优化推广
  • app开发是什么专业多说评论插件对网站优化
  • 工厂弄个网站做外贸如何网站查询域名访问
  • 网络搭建是什么工作迈步者seo
  • 网站建设 碧辉腾乐分销系统开发哪家好
  • 做推文封面的网站小程序制作策划案
  • 网站地图生成seo网站排名优化教程
  • 单位网站建设费用软件研发项目管理系统
  • 邵阳建设网站的公司无货源网店哪个平台好
  • 如何为网站添加谷歌分析工具策划书用什么软件做
  • 珠海网站建设设计app成本
  • 大企业网站建设公司排名浙江省住房建设局网站
  • 长春做网站seo的中华网军事网
  • 企业网站建设招标书同ip多域名做同行业网站
  • 网站开发美学新华美玉官方网站在线做