- heaps
堆:并非一对杂乱无章的结构, 堆是一种存在特殊关系的树。
是一种半排序的树, 所有的父节点大于子节点(max heaps) 或 所有的父节点小于子节点(min heaps)。上图为max heaps. 满足二叉树结构的推叫做, binary heaps. - 特点
这种结构有别于BST, 它是一种层与层有特殊关系的数, 如果是max heaps更贴近于家谱图。如上图, 9必须大于所有子孙节点, 因为所有子孙节点是9的后代, 但其子孙却没有固定的关系, 比如, 6 必须满足小于7, 因为是7的孩子, 但不一定必须小于2或者5, 因为不是直系关系。
有了这种特殊的结构, 使得堆有许多好的算法, 比如堆排序, 优先队列这样最常用的高级算法。 - binary heaps 区别于 BST
上图均为堆, 但都不是BST - 插入操作
4.1 按照中序二叉树的顺序插入
heaps 和 priority queue堆和优先队列的定义和数据结构表示
最新推荐文章于 2022-04-09 13:12:48 发布
堆是一种半排序的树形数据结构,分为最大堆和最小堆,常用于实现优先队列。在堆中,父节点总是大于或小于子节点。堆排序和优先队列是堆的主要应用,插入和删除操作的时间复杂度为O(log n)。通过数组可以方便地表示和操作堆,便于实现优先队列功能。
摘要由CSDN通过智能技术生成