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

注册新公司网上核名网站成都企业模板网站开发

注册新公司网上核名网站,成都企业模板网站开发,海南创作什么网站,网站建设排名优化堆 逻辑上是一棵完全二叉树(依次遍满或者全满)。 数组可以转为完全二叉树,完全二叉树某结点左孩子(2*i1),右孩子(i*22),父结点((i-1/)2),根节点的父还是自己。 如何将数组转化为堆(大根堆&…

逻辑上是一棵完全二叉树(依次遍满或者全满)。

数组可以转为完全二叉树,完全二叉树某结点左孩子(2*i+1),右孩子(i*2+2),父结点((i-1/)2),根节点的父还是自己。

如何将数组转化为堆(大根堆):

1. 初始heapsize = 0,堆的尺寸

2. 给我一个5,我放在0位置,heapsize++

3. 再给我一个3,放在heapsize位置,heapsize++

4.给我一个6,同样,形成[5 3 6],6需要跟其父结点比较,如果大于父则交换

5. 也就是说,当加入一个新数时,不断和自己的父结点比较,若大于父则交换,直到小于等于父

时间复杂度:O(logN)

如果拿掉了大根堆堆顶,怎么重新构造:

1. 先将数组最后一个数字放于0处,heapsize--

2. 从头结点开始,在左孩子和右孩子的最大值交换

3. 直到该结点成为叶子结点或者大于其左孩子和右孩子

时间复杂度:O(logN)

改变数组某位置的数据,怎么重新构造:

1. 判断变大了还是变小了

2. 若变小了,往下移

3. 若变大了,往上移

4. 不判断就两个全做即可

时间复杂度:O(logN)

堆排序

依次放入数组中的数,构造大根堆(小根堆),数组第一个元素与最后元素交换,heapsize--,重新构造,依次下次,直到堆的大小减为0,则实现排序。

时间复杂度:O(NlogN)

空间复杂度:O(1)

如何不通过添数的方式,依次heapify即可构造堆。时间复杂度O(N)

QUESTION

1. 准备一个小根堆,遍历数组,遍历前k+1个数构造

2. 小根堆的堆顶一定要在0位置,这时候弹出堆顶,加入下一个元素

3. 依次下去即可

桶排序(不基于比较的排序)

数据范围小的时候可以使用计数排序,一个数组统计数字频次,依次输出即可。

基数排序(可以通过词频统计完成入桶出桶操作)

1. 先看最大数字有几位,然后通过前补0,将所有数字变为该位

2. 准备10个(按进制来)的队列,根据数字最低位数放入对应队列

3. 从左到右取出队列数字

4. 按十位数放如对应序列,再从左到右取出

5. 下次下去,直到超过最大位数,排序完成

http://www.yayakq.cn/news/974340/

相关文章:

  • org的域名网站新吴网站建设
  • 欧美购物网站排名网页制作基础教程费
  • 凤凰网站ui专业设计小程序需不需要服务器
  • phpcms二级栏目文章列表调用网站最新文章的方法在线制作图片透明背景
  • 做标书的专业网站wordpress返回插件
  • 南京网站排名外包详情页设计收费
  • 郑州做网站公司排企业推广的成功
  • 南通做网站找谁永康企业网站建设公司
  • hao123主页下载安装深圳网站seo地址
  • 网站配资公司网站软件外包官网
  • 网站建设 运维 管理建筑公司网站设计
  • 镇江做网站的公司上海哪学网站建设优化
  • 黑龙seo网站优化做响应式网站设计
  • 松江 企业网站建设wordpress插件木马吗
  • 网站logo大全合肥宣传网站
  • 苏州免费网站建设科普网站建设
  • 潍坊微信网站诸暨公司制作网站需要哪些
  • 苏州网站制作的公司奉贤区专业建网站
  • 威海建设集团的网站是什么最先进的无锡网站建设
  • 营销crm系统网站设计wordpress 滑块验证
  • 国外网站案例成都网站建设开发
  • 网站优化站外链接怎么做资海网站建设
  • 深圳较便宜的网站建设价格低怎么说好听
  • 深圳品牌做网站公司有哪些产品广告策划方案
  • dede手机网站标签邯郸形象网站建设
  • 南皮网站建设公司网站跟app的区别是什么意思
  • 开发一个网站需要多长时间网站的建设心得
  • 电子商务网站建设 价格孝感建设公司网站
  • 企业宣传网站设计论文做网络推广的网站有哪些
  • 淄博高端网站建设成品短视频软件源码