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

建设一个网站需要哪些材料我国的网络营销公司

建设一个网站需要哪些材料,我国的网络营销公司,杨凯做网站,室内设计学校在哪里堆排序(二) 把数组从零开始连续的一段 完全二叉树 size i 左 son 2*11 i 右 son 2*12 父 (i-1) / 2 堆是完全二叉树,分为大根堆和小根堆 在完全二叉树里,每一棵子数最大的值是头节点的值,就是大根堆 同理&…
堆排序(二)

把数组从零开始连续的一段 = 完全二叉树 size

i 左 son 2*1+1

i 右 son 2*1+2

父 (i-1) / 2

堆是完全二叉树,分为大根堆和小根堆

在完全二叉树里,每一棵子数最大的值是头节点的值,就是大根堆

同理,在完全二叉树里,每一棵子数最小的值是头节点的值,就是小根堆

大根堆排序,插入的值 和 父节点比较,如果比父节点大,和它交换,直到最大,就停止,通过这样的调整,得到的一定是大根堆。这个过程,我们叫做 heapInsert

public static void heapInsert(int [] arr, int index) {while (arr[index] > arr[(index - 1) / 2]) {// 和父节点交换值  并且把当前下标移动到父节点swap(arr, index, (index - 1) / 2); index = (index - 1) / 2; }
}

从一堆数中找出最大值,移除它,保持还是大根堆,我们管这个过程叫做heapify

public static void heapify(int [] arr, int index, int heapSize) {int left = index * 2 + 1; // 左孩子的下标while (left < heapSize) { // 下方还有孩子 (左孩子越界,那么就没有右孩子了。)// 俩个孩子中,谁的值大,把下标给谁 (先找出孩子中最大的)int largest = left + 1 < heapSize && arr[left + 1] > arr[left] ? left + 1:left;// 父和孩子之间,谁的值大,把下标给谁 (较大的孩子和父节点找出最大的)largest = arr[largest] > arr[index] ? largest : index;if (largest == index) { // 如果当前节点就是最大的 跳出break;}swap(arr, largest, index); // 交换位置index = largest; // 继续比较left = index * 2 + 1; // 找左孩子继续 while}
}

题目:

已知一个几乎有序的数组,几乎有序是指,如果把数组排好顺序的话,每个元素移动的距离可以不超过K,并且K相对于数组来说比较小。请选择一个合适的排序算法针对这个数据进行排序。

假如K = 6 ,建立一个heapSize = 7 的小根堆 (这样小根堆的最小值一定是数组的最小值)

把最小的弹出,保持小根堆,新加入的数字做heapfiy,

继续上面的步骤,直到全部弹出。

public static void main(String[] args) {PriorityQueue<Integer> heap = new PriorityQueue<>();heap.add(8);heap.add(4);heap.add(10);heap.add(3);while(!heap.isEmpty) {System.out.println(heap.poll());}
}
http://www.dt0577.cn/news/13419.html

相关文章:

  • 营销型网站建设概述中国搜索引擎排名2021
  • 新闻大全抖音seo推广
  • wordpress更换主题影响北京关键词seo
  • 快速建网站模板营销案例
  • 外贸可以什么网站做宁波seo软件免费课程
  • 做网站社区赚钱吗互联网营销工具
  • 邯郸最新工程项目公示张家界百度seo
  • 网站源码程序下载seo网站优化价格
  • 哪个网站有利于做课件网站seo优化服务商
  • php动态网站开发 项目教程百度官网下载安装到桌面上
  • 柳城网站建设搜索关键词的方法
  • 自己的网站怎么做实时监控营销网课
  • 网站建立网络优化搜索引擎优化实训心得
  • 建设网站可选择的方案有友情链接在线观看
  • dw自己做网站需要什么区别seo优化是做什么的
  • 京东网站建设策略seo免费资源大全
  • 电商平台网站建设网站建设首页
  • 网络网站建设价格网络推广代理平台
  • 郴州网站制作找工作seo推广软件代理
  • 开源众包官网兼职平台厦门seo专业培训学校
  • 急切网在线制作seo排名赚能赚钱吗
  • 房产网站流量排名淘宝推广费用多少钱一天
  • ps制作网站背景营销型网站建设企业
  • 咸阳免费做网站广州优化营商环境条例
  • Wordpress炫酷特效深圳关键词优化公司哪家好
  • 淘宝上做进出口网站有哪些seo培训
  • 小程序就是做网站站长工具端口查询
  • 建网站深圳百度上的广告多少钱一个月
  • 快速学做网站2024年重启核酸
  • 给网站增加功能怎么做腾讯新闻潍坊疫情