九章算法笔记10.3 part2

来源:互联网 发布:json文件注释报错 编辑:程序博客网 时间:2024/06/06 12:46

一个最小堆

1.二叉树 用数组来实现,在树上面对TreeNode 编号

id:0,1,2,3,4,5
1,3,5,10,11,15

leftson = 2*id+1
rightson = 2*id+2
parent = (id-1)/2

堆push元素的话,直接在数组后面加一个index就可以了,push的时间复杂度O(logn),pop操作就是和和末尾交换元素,之后pop出去末尾一个元素
id:0,1,2,3, 4, 5 ,6
1,3,5,10,11,15,0
三道题 heapfy Trapping the Rain Water I,II

0 0
原创粉丝点击