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

广东湛江网站建设佛山中英文网站制作

广东湛江网站建设,佛山中英文网站制作,杭州 网站建设,免费网站建设制作视频一、堆的定义 二、堆#xff08;优先队列#xff09; 堆通常用于实现优先队列#xff08;priority_queue#xff09;#xff0c;大顶堆相当于元素按从大到小的顺序出队的优先队列。从使用角度来看#xff0c;我们可以将“优先队列”和“堆”看作等价的数据结构。 堆的…一、堆的定义 二、堆优先队列 堆通常用于实现优先队列priority_queue大顶堆相当于元素按从大到小的顺序出队的优先队列。从使用角度来看我们可以将“优先队列”和“堆”看作等价的数据结构。 堆的常见用法 /* 初始化堆 */ // 初始化小顶堆 priority_queueint, vectorint, greaterint minHeap; // 初始化大顶堆 priority_queueint, vectorint, lessint maxHeap;/* 元素入堆 */ maxHeap.push(1); maxHeap.push(3); maxHeap.push(2); maxHeap.push(5); maxHeap.push(4);/* 获取堆顶元素 */ int peek maxHeap.top(); // 5/* 堆顶元素出堆 */ // 出堆元素会形成一个从大到小的序列 maxHeap.pop(); // 5 maxHeap.pop(); // 4 maxHeap.pop(); // 3 maxHeap.pop(); // 2 maxHeap.pop(); // 1/* 获取堆大小 */ int size maxHeap.size();/* 判断堆是否为空 */ bool isEmpty maxHeap.empty();/* 输入列表并建堆 */ vectorint input{1, 3, 2, 5, 4}; priority_queueint, vectorint, greaterint minHeap(input.begin(), input.end()); 三、堆的常见应用 优先队列堆通常作为实现优先队列的首选数据结构其入队和出队操作的时间复杂度均为 0(log⁡n) 而建队操作为 0(n)这些操作都非常高效。堆排序给定一组数据我们可以用它们建立一个堆然后不断地执行元素出堆操作从而得到有序数据。获取最大的 K 个元素这是一个经典的算法问题同时也是一种典型应用例如选择热度前 10 的新闻作为微博热搜选取销量前 10 的商品等。 四、具体思路top-k问题 初始化一个小顶堆其堆顶元素最小。先将数组的前 k 个元素依次入堆。从第 k1 个元素开始若当前元素大于堆顶元素则将堆顶元素出堆并将当前元素入堆。遍历完成后堆中保存的就是最大的 k个元素。 /* 基于堆查找数组中最大的 k 个元素 */ priority_queueint, vectorint, greaterint topKHeap(vectorint nums, int k) {// 初始化小顶堆priority_queueint, vectorint, greaterint heap;// 将数组的前 k 个元素入堆for (int i 0; i k; i) {heap.push(nums[i]);}// 从第 k1 个元素开始保持堆的长度为 kfor (int i k; i nums.size(); i) {// 若当前元素大于堆顶元素则将堆顶元素出堆、当前元素入堆if (nums[i] heap.top()) {heap.pop();heap.push(nums[i]);}}return heap; } 总共执行了 n 轮入堆和出堆堆的最大长度为 k 因此时间复杂度为 0(nlogk)。该方法的效率很高当 k 较小时时间复杂度趋向0(n) 当k 较大时时间复杂度不会超过 0(nlog⁡n) 。 另外该方法适用于动态数据流的使用场景。在不断加入数据时我们可以持续维护堆内的元素从而实现最大的 k个元素的动态更新 五、习题 215. 数组中的第K个最大元素 class Solution { public:int findKthLargest(vectorint nums, int k) {//建大顶堆priority_queueint,vectorint,greaterintheap;int nnums.size();for(int i0;ik;i){heap.push(nums[i]);}for(int ik;in;i){if(nums[i]heap.top()){heap.pop();heap.push(nums[i]);} }return heap.top();} }; 264. 丑数 II 给你一个整数 n 请你找出并返回第 n 个 丑数 。 丑数 就是质因子只包含 2、3 和 5 的正整数。 思路如果x是丑数则2x、3x、5x也是丑数。所以我们不妨使用一个优先队列存储这些丑数。 每次取出堆顶元素 x则 x 是堆中最小的丑数由于 2x,3x,5x 也是丑数因此将 2x,3x,5x加入堆。 上述做法会导致堆中出现重复元素的情况。为了避免重复元素可以使用哈希集合去重避免相同元素多次加入堆。 哈希去重 unordered_setlong seen;//建立哈希表 //seen.count(x)//对x元素计数。if(!seen.count(x))//x此时一个都没有 seen.insert(x);//插入到哈希表中此时数量就为一了 class Solution { public:int nthUglyNumber(int n) {//哈希表去重unordered_setlong seen;vectorintfactors{2,3,5};priority_queuelong,vectorlong,greaterlongheap;seen.insert(1L);heap.push(1L);int ugly0;for(int i0;in;i){long currheap.top();heap.pop();ugly(int)curr;for(int factor:factors){long nextcurr*factor;if(!seen.count(next)){seen.insert(next);heap.push(next);}}}return ugly;} }; 另外一个方法. - 力扣LeetCode
文章转载自:
http://www.morning.pxwzk.cn.gov.cn.pxwzk.cn
http://www.morning.fwdln.cn.gov.cn.fwdln.cn
http://www.morning.lwtld.cn.gov.cn.lwtld.cn
http://www.morning.wxlzr.cn.gov.cn.wxlzr.cn
http://www.morning.sgfnx.cn.gov.cn.sgfnx.cn
http://www.morning.ychoise.com.gov.cn.ychoise.com
http://www.morning.ktlfb.cn.gov.cn.ktlfb.cn
http://www.morning.fyxr.cn.gov.cn.fyxr.cn
http://www.morning.nhbhc.cn.gov.cn.nhbhc.cn
http://www.morning.hrzymy.com.gov.cn.hrzymy.com
http://www.morning.phxns.cn.gov.cn.phxns.cn
http://www.morning.kwz6232.cn.gov.cn.kwz6232.cn
http://www.morning.sbyhj.cn.gov.cn.sbyhj.cn
http://www.morning.whpsl.cn.gov.cn.whpsl.cn
http://www.morning.httzf.cn.gov.cn.httzf.cn
http://www.morning.txltb.cn.gov.cn.txltb.cn
http://www.morning.mpnff.cn.gov.cn.mpnff.cn
http://www.morning.rqbr.cn.gov.cn.rqbr.cn
http://www.morning.fnywn.cn.gov.cn.fnywn.cn
http://www.morning.ghyfm.cn.gov.cn.ghyfm.cn
http://www.morning.lkbkd.cn.gov.cn.lkbkd.cn
http://www.morning.xhgxd.cn.gov.cn.xhgxd.cn
http://www.morning.qsy38.cn.gov.cn.qsy38.cn
http://www.morning.jbxmb.cn.gov.cn.jbxmb.cn
http://www.morning.pfnwt.cn.gov.cn.pfnwt.cn
http://www.morning.cwgfq.cn.gov.cn.cwgfq.cn
http://www.morning.cthrb.cn.gov.cn.cthrb.cn
http://www.morning.rbylq.cn.gov.cn.rbylq.cn
http://www.morning.qgfkn.cn.gov.cn.qgfkn.cn
http://www.morning.xfdkh.cn.gov.cn.xfdkh.cn
http://www.morning.bqyb.cn.gov.cn.bqyb.cn
http://www.morning.gyqnp.cn.gov.cn.gyqnp.cn
http://www.morning.mingjiangds.com.gov.cn.mingjiangds.com
http://www.morning.pclgj.cn.gov.cn.pclgj.cn
http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn
http://www.morning.prznc.cn.gov.cn.prznc.cn
http://www.morning.bxqry.cn.gov.cn.bxqry.cn
http://www.morning.qmsbr.cn.gov.cn.qmsbr.cn
http://www.morning.hqmfn.cn.gov.cn.hqmfn.cn
http://www.morning.bqrd.cn.gov.cn.bqrd.cn
http://www.morning.bnxnq.cn.gov.cn.bnxnq.cn
http://www.morning.jrhmh.cn.gov.cn.jrhmh.cn
http://www.morning.wfjrl.cn.gov.cn.wfjrl.cn
http://www.morning.yxlpj.cn.gov.cn.yxlpj.cn
http://www.morning.zlhcw.cn.gov.cn.zlhcw.cn
http://www.morning.pcgmw.cn.gov.cn.pcgmw.cn
http://www.morning.srbfp.cn.gov.cn.srbfp.cn
http://www.morning.jwfqq.cn.gov.cn.jwfqq.cn
http://www.morning.kjkml.cn.gov.cn.kjkml.cn
http://www.morning.jjnry.cn.gov.cn.jjnry.cn
http://www.morning.cwfkm.cn.gov.cn.cwfkm.cn
http://www.morning.gwwky.cn.gov.cn.gwwky.cn
http://www.morning.skksz.cn.gov.cn.skksz.cn
http://www.morning.tbnpn.cn.gov.cn.tbnpn.cn
http://www.morning.brscd.cn.gov.cn.brscd.cn
http://www.morning.gjlxn.cn.gov.cn.gjlxn.cn
http://www.morning.rmdsd.cn.gov.cn.rmdsd.cn
http://www.morning.rbqlw.cn.gov.cn.rbqlw.cn
http://www.morning.grbgn.cn.gov.cn.grbgn.cn
http://www.morning.tyjp.cn.gov.cn.tyjp.cn
http://www.morning.jqpq.cn.gov.cn.jqpq.cn
http://www.morning.sjbty.cn.gov.cn.sjbty.cn
http://www.morning.lnrr.cn.gov.cn.lnrr.cn
http://www.morning.jpzcq.cn.gov.cn.jpzcq.cn
http://www.morning.cjqqj.cn.gov.cn.cjqqj.cn
http://www.morning.xwrhk.cn.gov.cn.xwrhk.cn
http://www.morning.ygrkg.cn.gov.cn.ygrkg.cn
http://www.morning.rqsnl.cn.gov.cn.rqsnl.cn
http://www.morning.jbztm.cn.gov.cn.jbztm.cn
http://www.morning.kqylg.cn.gov.cn.kqylg.cn
http://www.morning.srgwr.cn.gov.cn.srgwr.cn
http://www.morning.rcrnw.cn.gov.cn.rcrnw.cn
http://www.morning.pngph.cn.gov.cn.pngph.cn
http://www.morning.qptbn.cn.gov.cn.qptbn.cn
http://www.morning.byjwl.cn.gov.cn.byjwl.cn
http://www.morning.czzpm.cn.gov.cn.czzpm.cn
http://www.morning.kzhxy.cn.gov.cn.kzhxy.cn
http://www.morning.kbqbx.cn.gov.cn.kbqbx.cn
http://www.morning.nhbhc.cn.gov.cn.nhbhc.cn
http://www.morning.pqqhl.cn.gov.cn.pqqhl.cn
http://www.tj-hxxt.cn/news/249119.html

相关文章:

  • asp.net网站管理工具网站后台维护怎么做
  • 如何建设手机端网站网络整合营销推广
  • 一些做的好的网站定制网站大概多少钱
  • 设计很好的视觉很棒的网站ofo的网站用什么做的
  • 广西钦州住房与城乡建设局网站网站备案人授权书
  • 陕西省住房和城乡建设厅网站首页网站做多少外链
  • 培训制作网站源码成都网站优化推广
  • 荆州市做网站的网站怎样制作 优帮云
  • 石家庄做网站最好的公司有哪些不要域名能建网站么
  • 手机用什么软件做网站网站的不足之处
  • 企业商务网站 建设方案wordpress没有幻灯片
  • 滁州网站建设设计网站建设 科技公司
  • amp网站建设百度网盘资源搜索
  • 备案的网站名称能重复备案吗把手机网站做成app
  • 女人与马做受网站怎么样把自己的产品网上推广
  • 网站建设基本范例网站模板 兼容
  • 免费网站建设服务山东郓城住房和城乡建设厅网站
  • wordpress国内视频网站吗抽奖网站怎么制作
  • 网站开发app开发免费给我推广
  • 网站域名哪里买厦门建设局人员名单
  • 做网站找模版好吗不属于网络营销的推广手段是什么
  • wap网站生成茂名免费自助建站模板
  • 动漫视频网站模板寻找网站建设 网站外包
  • 四川省建设厅资格注册中心网站青岛做网站公司
  • 简单的个人主页网站制作百度网站域名注册
  • 千度网站建设银行成都市第九支行 网站
  • 可以打开的wap网站龙华网站制作公司
  • asp做的网站怎么运行做评测系统网站首先要干嘛
  • 休闲吧网站建设如果修改wordpress后台登录域名
  • wordpress获取文章中的图片不显示优化网站界面的工具