heap
- go中的堆采用小根堆实现
- 采用接口形式,也就是需要实现Push,Pop,Len,Less,Swap方法
|
|
堆的构建
- 调用init来完成对于堆的构建
- 比较i与
2*i+1
,2*i+2
的大小进行建堆
|
|
Push, Pop方法
- Push方法将数据防止在末尾,逐个节点向上调整
- Pop方法将待出堆的节点和末尾节点交换,向下调整根节点
|
|
Fix, Remove方法
- Remove方法移除树第i个节点,并调整堆结构
- Fix方法在数据值便跟时调整堆结构
|
|
示例-优先队列
|
|
黄小黄的幸福生活!
|
|
2*i+1
, 2*i+2
的大小进行建堆
|
|
|
|
|
|
|
|
微信支付
支付宝
比特币