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

个人网站设计大全营销计划怎么写

个人网站设计大全,营销计划怎么写,公众号投放平台,企业网站样式队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队 列在这种情况下,数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。 这种数据结构就…

队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队
列在这种情况下,数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。
这种数据结构就是优先级队列(Priority Queue)。时,可能需要优先级高的元素先出队列,该中场景下,使用队列显然不合适。


PriorityQueue底层使用了堆这种数据结构,而堆实际就是在完全二叉树的基础上进行了一些调整。


堆的概念
堆总是一棵完全二叉树。
堆中某个节点的值总是不大于或不小于其父节点的值;
将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。
****在这里插入图片描述


堆的存储方式
可以层序的规则采用顺序的方式来高效存储

对于非完全二叉树,则不适合使用顺序方式进行存储,因为为了能够还原二叉树,空间中必须要存储空节点,就会导致空间利用率比较低。

假设i为节点在数组中的下标,
如果i为0,则i表示的节点为根节点,否则i节点的双亲节点为 (i - 1)/2
如果2 * i + 1 小于节点个数,则节点i的左孩子下标为2 * i + 1,否则没有左孩子
如果2 * i + 2 小于节点个数,则节点i的右孩子下标为2 * i + 2,否则没有右孩子


堆的创建
向下调整建堆
在这里插入图片描述
在这里插入图片描述

画图可以辅助理解
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


建堆的时间复杂度
满二叉树也是完全二叉树,此处为了简化使用满二叉树
向下调整 建堆的时间复杂度为O(N)。


堆的插入与删除
堆的插入
堆的插入总共需要两个步骤:
先将元素放入到底层空间中(注意:空间不够时需要扩容)
将最后新插入的节点向上调整,直到满足堆的性质
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


堆的删除
注意:堆的删除一定删除的是堆顶元素。具体如下:

  1. 将堆顶元素和堆中最后一个元素交换
  2. 将堆中有效数据个数减少一个
  3. 对堆顶元素进行向下调整
    4.
    在这里插入图片描述

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

在这里插入图片描述


PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的
关于PriorityQueue的使用要注意:
使用时必须导入PriorityQueue所在的包
PriorityQueue中放置的元素必须要能够比较大小,不能插入无法比较大小的对象,否则会抛出ClassCastException异常
不能插入null对象,否则会抛出NullPointerException
默认情况下是小堆—即每次获取到的元素都是最小的元素


PriorityQueue常用接口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


修改默认的小根堆为大根堆,这里我们直接实现Comparator接口,然后重写该接口中的compare方法
在这里插入图片描述

在这里插入图片描述


top-k问题:最大或者最小的前k个数据
在这里插入图片描述
上述解法并不是最优解
下面这种解法
在这里插入图片描述
在这里插入图片描述


堆排序
堆排序即利用堆的思想来进行排序,总共分为两个步骤:

  1. 建堆
    升序:建大堆
    降序:建小堆
  2. 利用堆删除思想来进行排序

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

http://www.yidumall.com/news/32836.html

相关文章:

  • 朝阳企业网站建设方案产品宣传推广策划
  • 淄博手机网站建设太原网站建设
  • 阿里云企业网站搭建seo优化一般多少钱
  • 院系网站建设具体要求今天百度数据
  • 广西网站建设公司哪家好指数是指什么
  • 重庆做网站推广北京关键词seo
  • 餐饮类网站设计销售怎么找客户源
  • 域名 备案号 网站的关系百度小说排行榜
  • 住房和城乡建设厅安全员证福州百度关键词优化
  • 网站推广中的评估指标有哪些企业seo推广
  • 专业做公司网站在线域名ip查询
  • 健展公司seo百度发包工具
  • 北京市网站建设 维护推荐西安seo关键词推广
  • 李氏牛仔网站建设风采集站seo赚钱辅导班
  • 适合手机上做的兼职seo搜索引擎实训心得体会
  • 做阿里巴巴网站公司软文写作的三个要素
  • 网站的内容管理站长工具亚洲高清
  • 深圳自建站有哪些大公司可以放友情链接的网站
  • 建站网站建设google浏览器官网
  • 高端网站建设团队培训网站官网
  • 做网站使网页不居中本溪seo优化
  • 网上订餐网站模板友情链接怎么设置
  • 基于网站的网络营销方法有哪些网店推广软文范例
  • 2024b站免费推广大全推广渠道
  • 强大的网站设计制作百度seo排名优化提高流量
  • 腾讯视频推广联盟快速seo整站优化排行
  • 自己做的网站 怎么放大文件拼多多关键词排名在哪里看
  • 国外做批发的网站有哪些手续window优化大师
  • 东莞住房与城乡建设网站seo泛目录培训
  • 海南爱心扶贫网站是哪个公司做的网络推广网站推广方法