当前位置: 首页 > news >正文

规范机关单位网站建设上海百度

规范机关单位网站建设,上海百度,做网站需要多少钱知乎,公司做网站需要提供的材料我是一个计算机专业研0的学生卡蒙Camel🐫🐫🐫(刚保研) 记录每天学习过程(主要学习Java、python、人工智能),总结知识点(内容来自:自我总结网上借鉴&#xff0…
我是一个计算机专业研0的学生卡蒙Camel🐫🐫🐫(刚保研)
记录每天学习过程(主要学习Java、python、人工智能),总结知识点(内容来自:自我总结+网上借鉴)
希望大家能一起发现问题和补充,也欢迎讨论👏👏👏

目录

    • 堆的介绍
    • 堆存储
    • 堆操作
      • 堆插入
      • 删除堆顶
        • 自底向上堆化
        • 自顶向下堆化
    • 堆排序
      • 1. 建堆
      • 2. 排序

堆的介绍

堆是一种特殊的树形数据结构,通常以完全二叉树的形式表示,并且满足堆属性。根据堆属性的不同,堆可以分为两种类型:

  • 最大堆(Max Heap):对于每个节点,它的值都大于或等于其子节点的值。因此,堆顶元素(根节点)总是最大的。
  • 最小堆(Min Heap):对于每个节点,它的值都小于或等于其子节点的值。因此,堆顶元素(根节点)总是最小的。

img

堆存储

img

  • (二叉)堆可以用完全二叉树的形式进行存储。
  • 树中任意节点 i,其左子节点序号为 2*i,右子节点序号为 2*i+1

堆操作

堆插入

  1. 将要插入的元素放到最后
  2. 从底向上,如果父结点比该元素小,则该节点和父结点交换,直到无法交换

img

删除堆顶

删除对顶元素是最大堆(最小堆)的最大值(最小值),为了保持堆的性质,需要对堆的结构进行调整,我们将这个过程称之为"堆化",有两种方法:

  1. 自底向上的堆化
  2. 自顶向下堆化
自底向上堆化

大顶堆为例:

  1. 先删除堆顶元素(即数组中index = 1的位置)
  2. 比较根结点的左子节点和右子节点(index = 2和3),较大的元素放到根节点
  3. 此时又有空位,和步骤2一样,空位两个子节点较大的移动到空位,直到最底部

img

自顶向下堆化
  1. 我们将最后一个元素移动到堆顶。
  2. 不停与左右子节点的值进行比较,和较大的子节点交换位置,直到无法交换位置。

img

堆排序

堆排序分为两个步骤:

  1. 建堆
  2. 排序

1. 建堆

建堆需要对所有非叶节点的自顶向下堆化。

顺序是从index=n/2index=1依次进行堆化

引用JavaGuide的图:

  1. 一开始没排序前的数组(n = 6, 所以要从索引为 3 到 1 的顺序进行堆化):

img

  1. index=3的节点进行堆化:

img

  1. index=2的节点进行堆化

img

  1. 对index=1的节点进行堆化,堆化完成

img

2. 排序

我们在第一步已经建堆完毕,故堆顶元素就是最大值。所以我们重复取出堆顶元素,将这个最大的堆顶元素放至数组末尾,并对剩下的元素进行堆化即可。

  1. 取出堆顶元素并且堆化

img

  1. 一次取出堆顶并且优化

imgimgimgimg

http://www.15wanjia.com/news/32036.html

相关文章:

  • 焦作网站建设设计百度网盘app官网
  • dreameaver注册用户网站怎么做厦门seo关键词排名
  • 淘宝客推广怎么做网站备案外呼系统电销
  • 个人网站做得优秀的网站推广的主要方式
  • 北京响应式网站建设报价雅虎搜索引擎入口
  • 如何制作社交网站爱站网关键词查询网站
  • 海淀商城网站建设湖南长沙今日疫情
  • 网站图片宽度厦门网站优化
  • 营销网站定制开网站需要什么流程
  • 开发网站类型百度推广的方式有哪些
  • 营销型网站建设企业0元入驻的电商平台
  • 集合视频网站资源怎么做seo整站优化推广
  • 自己做网站花钱么无锡网站制作推广
  • 中山网站建设最好的公司郑州seo方案
  • 菜谱设计制作图片排名优化方法
  • 深圳市做网站的seo技术培训价格表
  • 能发锚文本的网站一个网站可以优化多少关键词
  • 湘潭网站建设 安全还踏实磐石网络今日新闻最新事件
  • 0505网页制作与网站建设电脑优化软件
  • 网站开发课表查询外贸推广代理
  • 2023年企业年报入口泰安seo网络公司
  • 网站一般字体建站优化公司
  • 个人网站案例电商网站设计
  • 网站运营管理的内容有哪些微商推广哪家好
  • 厦门的网站建设公司石家庄新闻
  • 安徽省六安市建设局网站简述在线推广网站的方法
  • 英文搜索网站网站定制
  • 谁可以做网站优化排名推广企业培训课程有哪些内容
  • 做企业网站用php百度搜索热度指数
  • 一个人能开发app吗百度快照seo