首页 >常见问题 > 正文

堆序列怎么判断

原创2019-06-13 11:27:440540
第八期线上培训班

已知一个序列,比如{100,6070,50,32,65},怎么判断是不是堆?

答案:把这个序列看成数组型的二叉树,如果根结点是i,左子树是2*i,右子树是2*i+1。

堆分为最大堆与最小堆。

1.最大堆中所有父节点都比左子树、右子树大,比如已知序列,画成堆就是:

a46d6d715befd69c7e7b1455dbf13ab.png

所以已知序列是个最大堆。

2.最小堆中所有父节点都比左子树、右子树小,比如{32,50,60,70,100,65},画成堆:

1523797fcbf5642fe53bc2cf410c999.png

符合以上两种情况的序列就是堆

以上就是堆序列怎么判断的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码
  • 相关标签:堆序列
  • 本文原创发布php中文网,转载请注明出处,感谢您的尊重!
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    藏色散人

    好好学习天天向上!

    最近文章
    宝塔面板是什么300
    宝塔phpmyadmin打不开怎么办497
    sublime text 3如何设置宏?947
    推荐视频教程
  • PHP经典算法面试题PHP经典算法面试题
  • php7实战开发cms内容管理系统php7实战开发cms内容管理系统
  • ThinkPHP6.0极速入门(视频教程)ThinkPHP6.0极速入门(视频教程)
  • ThinkPHP6.0公益直播课ThinkPHP6.0公益直播课
  • ThinkPHP6.0完全开发手册(官方版)ThinkPHP6.0完全开发手册(官方版)
  • 视频教程分类
    第八期线上培训班