Html/CSS
四叉堆 标签描述

堆作为必须掌握的数据结构之一,在众多场景中也得到了广泛的应用。比较典型的,如java中的优先队列PriorityQueue、算法中的TOP-K问题、最短路径Dijkstra算法等,在这些经典应用中堆都担任着灵魂般的角色。 理论基础 binaryheap 再一起回忆一下堆的一个性质:堆总是一棵完全二叉树。有些文章中也将堆称为二叉堆(binaryheap)。 在堆中,再根据堆顶点为最大值与最小值,分为大顶堆与小顶堆。 新增一个元素,需要进行sift-up操作,其时间复杂度为O(logN) 构造二叉堆,有两种方式: 一种是比较简单的方式:遍历每个元素进行sift-up,其时间复杂度为O(N...