【什么是堆】
概念:堆是一种特殊的二叉树,具备以下两种性质
1)每个节点的值都大于(或者都小于,称为最小堆)其子节点的值
2)树是完全平衡的,并且最后一层的树叶都在最左边
这样就定义了一个最大堆。如下图用一个数组来表示堆:
那么下面介绍二叉堆:二叉堆是一种完全二叉树,其任意子树的左右节点(如果有的话)的键值一定比根节点大,上图其实就是一个二叉堆。
你一定发觉了,最小的一个元素就是数组第一个元素,那么二叉堆这种有序队列如何入队呢?看图:
假设要在这个二叉堆里入队一个单元,键值为2,那只需在数组末尾加入这个元素,然后尽可能把这个元素往上挪,直到挪不动,经过了这种复杂度为Ο(logn)的操作,二叉堆还是二叉堆。
那如何出队呢?也不难,看图:
出队一定是出数组的第一个元素,这么来第一个元素以前的位置就成了空位,我们需要把这个空位挪至叶子节点,然后把数组最后一个元素插入这个空位,把这个“空位”尽量往上挪。这种操作的复杂度也是Ο(logn)。
【适用范围】
海量数据前n大,并且n比较小,堆可以放入内存
【基本原理及要点】
最大堆求前n小,最小堆求前n大。方法,比如求前n小,我们比较当前元素与最大堆里的最大元素,如果它小于最大元素,则应该替换那个最大元 素。这样最后得到的n个元素就是最小的n个。适合大数据量,求前n小,n的大小比较小的情况,这样可以扫描一遍即可得到所有的前n元素,效率很高。
【扩展】
双堆,一个最大堆与一个最小堆结合,可以用来维护中位数。
【问题实例】
1)100w个数中找最大的前100个数。
用一个100个元素大小的最小堆即可。
做人要厚道:转载请注明出处:http://blog.redfox66.com/post/2010/10/02/mass-data-topic-5-heap.aspx
相关推荐
在压缩包中,`node.dll` 是一个动态链接库文件,通常与Node.js环境有关,可能用于软件的后台处理,如数据抓取、计算或实时更新等功能。Node.js是一个流行的JavaScript运行环境,适用于构建高性能的网络应用,尤其是...
银河证券的可转债权限开通涉及一系列专业知识,包括可转债的基本概念、交易规则、风险提示和开户流程。以下是对这些知识点的详细说明: 1. 可转债的基本概念: 可转换公司债券(简称可转债)是一种混合型融资工具,...
在券商转债中,还特别提到了互联网券商品种东财转3,建议投资者综合考虑上市价位和市场环境后选择参与机会。 报告强调,尽管从债底保护和低估值来看,转债存在一定的配置价值,但投资仍需关注潜在风险。例如,宏观...
可转债自动筛选软件,自动筛选出超短区间内可以盈利的可转债(适用于股市大涨阶段),依托于集思录的数据,雇人做了这么一个可转债自动筛选软件,因为是易语言写的软件,可能会报毒,但是实际上没有毒,因为我用它...
【可转债条款和常用指标】是投资领域中分析可转换债券的重要概念,涉及转债的基本要素、条款解析以及常用估值指标。以下是对这些知识点的详细说明: **转债基本要素和条款解析** 1. **转股价格调整**:转股价格会...
该报告是关于可转换债券(转债)策略的研究,主要探讨了低价转债市场,尤其是超低价转债在近期逐渐消失的现象。报告指出,中证转债指数持续创新高,低价转债数量大幅减少,从2021年2月的163支下降至个位数。这一变化...
【可转债定价关系】 可转债是一种混合证券,具有债券和股票的双重特性,投资者可以在一定条件下将债券转换为公司的普通股。本文主要探讨的是两期并存转债的定价关系,即同一公司发行的两期可转债在市场上的定价如何...
### 金融行业研究方法-可转债专题报告:转债监管变革的三生三世 #### 背景概述 可转债作为一种兼具债券和股票性质的金融工具,在金融市场中占据着独特的地位。随着中国金融市场改革的深入以及监管政策的变化,可...
20210618-光大证券-光伏行业转债梳理:光伏转债扩容在即,细细梳理转债市场上的光伏企业.pdf
对于风电领域,存量标的较多,如东缆转债、福能转债、天能转债、嘉泽转债和中天转债等,建议关注海缆龙头东缆转债,同时考虑福能转债的配置价值。 在垃圾焚烧发电板块,建议关注城市固废龙头品种伟20转债,以及估值...
这种处理方式对于转债市场分析尤为重要,因为它有助于识别出受噪声影响较小的转债品种,为投资者提供了一个量化分析的视角和工具。 总结而言,中金公司的这份周报详细介绍了可转债市场的最新动态,并基于降噪处理...
【可转债投资详解】 可转债,全称为可转换债券,是一种特殊的金融产品,集债券和股票特性于一体。在2003年以来,中国的可转债市场发展迅速,即便在股市和债市表现不佳的时期,仍能吸引QFII(合格境外机构投资者)和...
- **下跌风险有界**:可转债的价格通常不会低于其债券价值,因为债券价值提供了价格支撑。即使市场下跌,可转债的价值也不会跌至零,提供了一定的安全边际。 - **上涨收益巨大**:当股票价格超过转股价格,可...
下面我们将深入探讨可转债定价的基本原理以及如何在MATLAB中实现这一过程。 1. 可转债定价基本原理: 可转债的价格由其债券价值和期权价值两部分组成。债券价值是按照固定利率支付利息并到期还本的现值计算,而...
光伏行业转债梳理:光伏转债扩容在即,细细梳理转债市场上的光伏企业(16页).pdf
报告中特别提到了热管理板块的三花转债和银轮转债,汽车电子板块的国微转债、捷捷转债,传动&制动板块的伯特转债,以及模具&精密铸件(轻量化)板块的明泰转债和文灿转债等。 在整车板块方面,报告认为乘用车行业的...
2017年对于中国可转债市场来说是一个重要的转折点,被誉为“转债元年”。这一年,由于再融资新规和信用申购政策的推动,可转债发行规模大幅度增长,标志着这个市场从小众走向大众。尽管中证转债指数在2017年累计下跌...
### 2019版资源品可转债大典核心知识点解析 #### 一、研究报告概览 **标题与描述**:“2019版资源品可转债大典-海通证券-20190306.pdf”表明这是一份由海通证券在2019年3月6日发布的关于资源品行业可转换债券的...
可转债投资.pdf