品牌网站建设大概费用桂林两江四湖在哪

张小明 2026/1/9 12:41:04
品牌网站建设大概费用,桂林两江四湖在哪,南宁市做公司网站,一起买买买网站建设堆(heap)实际就是完全二叉树#xff0c;但他的结点的值有两种趋势#xff0c;一是从根节点的值到叶子节点的值从小到大称为小根堆#xff0c;从根节点的值从大到小称为大根堆#xff0c;否则不是堆。当堆中插入数据或删除数据时#xff0c;有向上调整算法和向下调整算法。…堆(heap)实际就是完全二叉树但他的结点的值有两种趋势一是从根节点的值到叶子节点的值从小到大称为小根堆从根节点的值从大到小称为大根堆否则不是堆。当堆中插入数据或删除数据时有向上调整算法和向下调整算法。向上调整算法当堆中插入数据放在末尾再逐渐向上调。以大根堆举例1插入点与父节点的值比较若是该点值大于父节点值则交换。2重复1操作直到小于父节点的值或交换到根节点为止。void up(int child) { int parent child / 2; while (parent 1 heap[parent] heap[child]) { swap(heap[parent], heap[child]); child parent; parent child / 2; } }向下调整算法用于删除堆顶元素堆排序的堆操作。以大根堆举例1找到左右孩子节点中值最大的节点若该节点值小于孩子中值最大的节点二者交换。2重复1操作直到该点的值比两个孩子节点的值多大或换到叶子节点为止。void down(int parent) { int child parent * 2; while (child n) { if (child 1 n heap[child 1] heap[child]) { child; } if (heap[child] heap[parent]) { return; } swap(heap[child], heap[parent]); parent child; child parent * 2; } }时间复杂度为O(logN)。堆模拟实验创建一个堆后插入元素然后执行向上调整算法void up(int child)//向上调整算法 { int parent child / 2; while (parent 1 heap[parent] heap[child]) { swap(heap[parent], heap[child]); child parent; parent child / 2; } } void push(int num)//插入元素 { heap[n] num; up(num); }执行堆的删除元素void down(int parent)//向下调整算法 { int child parent * 2; while (child n) { if (child 1 n heap[child 1] heap[child]) { child; } if (heap[child] heap[parent]) { return; } swap(heap[child], heap[parent]); parent child; child parent * 2; } } void pop(int num)//删除元素 { swap(heap[1], heap[n]); n--; down(1); }根据以上内容我们大致了解了堆的基本概念和内容接下来再衔接优先级队列priority_queue就简单许多。priority_queue实际上可以近似认为是堆的数据结构在普通的队列是先进先出优先级队列也是如此但它会根据元素的优先级自动排序优先级最高的最先被删除。它有许多便利的函数#include iostream #include queue using namespace std; priority_queueintheap; int main() { for (int i 1; i 10; i) { heap.push(i);//时间复杂度为O(logN). } int t heap.top();//时间复杂度为O(1). heap.pop();//时间复杂度为O(logN). int m heap.size();//时间复杂度为O(1). if (heap.empty())//时间复杂度为O(1). { cout 1 endl; } return 0; }其中函数的时间复杂度在注释中优先级队列中含有内置类型和结构体类型正常创建时默认为大根堆priority_queueintheap;//默认为大根堆如果需要变为小根堆请看代码priority_queueint, vectorint, lessintheap1;//大根堆 priority_queueint, vectorint, greaterintheap2;//小根堆结构体类型的模拟相对复杂还需要用operator的重载运算符需要在结构体内部来定义大小堆struct node { int ans; bool operator (const node x)const//利用operator的重载运算符来定义 { return ans x.ans;//如果是就是大根堆是就是小根堆 } }; priority_queuenodeheap;以上就是堆和优先级队列的全部内容如果在算法题中若是观察到有单调性的题目我们可以在被时间复杂度限制时运用以上内容。完结撒花!!!
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

百度网站提交tag() wordpress

文章转载链接:http://www.51testing.com/html/38/n-7803538.htmlhttp://www.51testing.com/html/38/n-7803538.html 1.新建测试场景 2.编辑测试步骤 3.查看测试结果 查看请求的详细信息 更多详细信息 4.数据库验证 笔者测试目的主要是想验证该接口在并发压力下是否会…

张小明 2026/1/5 18:11:33 网站建设

什么网站做产品销售做的好莱芜公交网站

PMSM永磁同步电机参数辨识仿真,适用于表贴式,内嵌式永磁同步电机: 辨识内容: ① 定子电阻,精度在0.1%左右; ② DQ电感辨识(脉冲电压法),精度在0.02%左右; ③ 转子磁链辨识,精度在0.12%左右; 上述算法,是在实…

张小明 2026/1/5 18:11:01 网站建设

排行网站模板网站授权管理系统怎么做

EmotiVoice语音克隆安全性分析:隐私保护机制解读 在AI生成语音日益逼真的今天,一段几秒钟的录音就可能被用来“复制”你的声音——这不再是科幻电影的情节,而是现实中的技术能力。EmotiVoice 正是这样一款强大的开源语音合成系统,…

张小明 2026/1/7 0:53:09 网站建设

捕鱼游戏在哪做网站白云做网站

想不想把家里的旧电视盒子变成怀旧游戏设备?🎮 TVBoxOSC这款开源工具能让你在现代电视设备上重温《超级马里奥》《魂斗罗》等经典游戏。本文专为新手设计,带你轻松搭建专属的电视大屏游戏体验。 【免费下载链接】TVBoxOSC TVBoxOSC - 一个基于…

张小明 2026/1/5 18:09:56 网站建设

哈尔滨网站开发联系薇网站建设最贵服务商

一、为什么选择 PyAutoGUI? 在自动化测试、批量操作、GUI 软件自动化等场景中,工程师常常需要“让程序替代人手去点击和输入”。市面上有多种方案: Selenium/Appium:偏向 Web 或移动端自动化,依赖浏览器/驱动。AutoI…

张小明 2026/1/5 18:09:24 网站建设

软文推广是什么天津百度seo排名优化软件

硅谷的 AI 竞赛已经进入 next level 了,原本卷模型参数,现在开始卷应用生态和底层基建。 当地时间 12 月 2 日,Anthropic 宣布收购热门 JavaScript 运行时工具 Bun。这并非一次简单的人才收购(Acqui-hire)&#xff0c…

张小明 2026/1/7 16:37:53 网站建设