二叉堆 一种特殊的树形数据结构,每个结点都有一个值。二叉堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。 建堆 O(n*log(n))/ O(n); 插入元素 log(n); 删除最大/最小元素log(n); 无论是插入还是删除,最关键的都在于调整。 STL heap make_heap(a,a+n,cmp) 默认是最大堆化,即cmp为真时a做叶子 pop_heap(a,a+n,cmp) 将堆顶元素移至a[n-1]且a[0:n-2]仍为堆 push_heap(a,a+n,cmp) 将a[n-1]加入堆a[0:n-2] sort_heap(a,a+n,cmp) 将堆a[n-1]化为排序好的数组a[n-1] bool cmp(int x,int y){ return xy; //最大堆 } a[0]为堆顶元素。 映射2分堆 二项堆不能删除任意元素 在二项堆的基础上,加上一个索引之后,就成了映射2分堆,这时候就可以在log(n)的时间内删除元素。 而Fibonacci堆也支持插入、删除、查找最大最小元素,算法复杂度都很低,但是编程复杂度却很高。 几种堆的比较 优先队列 #includequeue #includevector priority_queue int, vectorint, greaterint q3; Priori
您可能关注的文档
最近下载
- 上财社课件国际商法(第九版)-张圣翠第二章 国际商事合同法.pptx VIP
- 2026考研(414)植物生理学与生物化学真题及答案.docx VIP
- 上财社课件国际商法(第九版)-张圣翠第十二章 国际商事仲裁法.pptx VIP
- 园林树木学授课课件(电子版)于晓南4.ppt VIP
- 2025年江苏省直公务员遴选笔试真题及完整答案解析(9月7日统考).docx VIP
- 煤炭供应方案.doc VIP
- 上财社课件国际商法(第九版)-张圣翠第三章 国际商事代理法.pptx VIP
- 江苏省苏州市振华中学校2025年中考二模语文试题(含答案).docx VIP
- 低内阻双NMOS管8205,8205S规格书.pdf VIP
- 【信息技术】安全使用信息系统 课件 2023—2024学年人教_+中图版(2019)高中信息技术必修2.pptx VIP
原创力文档

文档评论(0)