数据结构之堆

数据结构之堆

前序:

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

堆定义及其分类:

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

无序堆转为小根或大根:

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

爱奇艺笔试题:

    

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

  

正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!旁边有“推荐”二字,你就顺手把它点了吧,相得准,我分文不收;相不准,你也好回来找我。http://www.cnblogs.com/linguanh/
原文地址:https://www.cnblogs.com/Leo_wl/p/5357694.html