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

(出处:https://cloud.tencent.com/developer/user/1148436/activities)

前序:

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

堆定义及其分类:

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

无序堆转为小根或大根:

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

爱奇艺笔试题:

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏申龙斌的程序人生

零基础学编程042:画函数图像

孩子马上就要参加高考了,我以前还能帮着辅导一下数学功课,现在就不行了,一来她很忙,晚上很晚才到家,二来高中的数学题太变态,琢磨一个小时可能也解不出一道。 前几天...

3039
来自专栏潇涧技术专栏

When Math meets Android Animation (1)

当数学遇上动画:讲述ValueAnimator、TypeEvaluator和TimeInterpolator之间的恩恩怨怨(1)

812
来自专栏木子昭的博客

两个玻璃球 测试极限高度

一道有趣的智力题目: 已知,玻璃球从某高楼落到地面会摔碎,楼的最大高度为100层,给你两个玻璃球,请你最快的测出,能使玻璃球摔碎的最低楼层... ? ...

3128
来自专栏懒人开发

(7.5)James Stewart Calculus 5th Edition:Strategy for Integration

我们之前接触的,都是基础函数,也就是 elementary function 就是由我们前面说过的 三角函数,幂函数,指数函数,对数函数,有理函数等组合成的函...

1005
来自专栏生信小驿站

R 热图绘制heatmap②

614
来自专栏素质云笔记

python︱利用dlib和opencv实现简单换脸、人脸对齐、关键点定位与画图

这是一个利用dlib进行关键点定位 + opencv处理的人脸对齐、换脸、关键点识别的小demo。原文来自于《Switching Eds: Face swapp...

43710
来自专栏程序员互动联盟

二维码是如何实现的?

二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。一维条码的宽度记载着数据,而其长...

3055
来自专栏阮一峰的网络日志

骰子作画的算法

程序员Scott MacDonald做了一个很有趣的项目----骰子作画。 他用黑底白点的骰子。 ? 模拟出一张人像照片。 ? 把图像放大,就可以看得更清楚。 ...

33310
来自专栏技术专栏

Python3入门机器学习(三)- matplotlib基础与简单应用

832
来自专栏https://www.cnblogs.com/L

【机器学习】---密度聚类从初识到应用

5.密度可达:在DBSCAN中,p是从q(核心对象)密度可达的,如果存在对象链,使得

702

扫码关注云+社区