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

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

前序:

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

 

堆定义及其分类:

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

 

 

 

 

无序堆转为小根或大根:

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

 

 

 

爱奇艺笔试题:

    

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

  

posted @ 2016-04-05 18:02  指尖下的幽灵  阅读(1057)  评论(2编辑  收藏  举报