通俗地介绍下---数据结构之堆

简介: (出处:http://www.cnblogs.com/linguanh/) 前序:   堆是基础数据结构中二叉树的一种,它还是笔试和面试题的常客。本文旨在通俗地的简介下堆的一些知识,附加一道爱奇艺笔试题,相信我,绝对通俗易懂!!!!!。

(出处:http://www.cnblogs.com/linguanh/)

前序:

  堆是基础数据结构中二叉树的一种,它还是笔试和面试题的常客。本文旨在通俗地的简介下堆的一些知识,附加一道爱奇艺笔试题,相信我,绝对通俗易懂!!!!!。

 

堆定义及其分类:

  堆是基础数据结构中二叉树的一种,堆不一定是完全二叉树但是一般采用完全二叉树,主要是利于存储和运算,堆分三种,下面我用图片直观地显示出来。

 

 

 

 

无序堆转为小根或大根:

  这类要求一半出现在笔试选择题,注意:无序堆调整为最小根堆或者最大根堆的最终结果,是会因调整过程中的顺序不同而不同的,我的建议是,从最底层开始调整,一直往上,再往下,直至调整完毕下面我通过一个例子以图片方式来进行讲解。

 

 

 

爱奇艺笔试题:

    

  解题思路:已告知是最小堆,那么我们不用再自己转,先建好堆,如无特殊要求,那么按照完全二叉树的格式建好堆,然后在最后插入元素,然后调整堆。

  

如果您认为这篇文章还不错或者有所收获,您可以通过扫描一下下面的支付宝二维码 打赏我一杯咖啡【物质支持】,也可以点击右下角的【推荐】按钮【精神支持】,因为这两种支持都是我继续写作,分享的最大动力


img_12e3f54d4d0f70f0eb14f20548e3d781.png
目录
相关文章
|
存储 算法
【堆】数据结构堆的实现(万字详解)
【堆】数据结构堆的实现(万字详解)
|
存储 机器学习/深度学习 大数据
数据结构——堆
数据结构——堆
29 0
|
存储 机器学习/深度学习
数据结构--二叉树-堆(1)
数据结构--二叉树-堆(1)
数据结构--二叉树-堆(1)
|
1月前
|
C++
从0开始回顾数据结构---链表与堆
#include <iostream> #include <algorithm> #include <string.h> using namespace std; const int N = 100010; int h[N], ph[N], hp[N], cnt; void heap_swap(int a, int b) { swap(ph[hp[a]],ph[hp[b]]); swap(hp[a], hp[b]); swap(h[a], h[b]); } void down(int u) { int t = u; if (u * 2 <= cnt &&
|
1月前
|
存储
【数据结构】堆的模拟实现
【数据结构】堆的模拟实现
|
1月前
|
C语言
数据结构——堆的应用 Topk问题
数据结构——堆的应用 Topk问题
数据结构——堆的应用 Topk问题
|
1月前
|
算法
数据结构——堆的应用 堆排序详解
数据结构——堆的应用 堆排序详解
数据结构——堆的应用 堆排序详解
|
1月前
|
存储
数据结构-二叉树·堆(顺序结构的实现)
数据结构-二叉树·堆(顺序结构的实现)
29 0
|
1月前
【数据结构】堆的实现
【数据结构】堆的实现
26 1
|
3月前
|
存储 程序员 编译器

热门文章

最新文章