当前位置: 首页 > 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.jmfq.cn/news/5257657.html

相关文章:

  • 纺织厂网站模板/百度统计数据分析
  • 广元市剑阁县建设局网站/网络销售好不好做
  • 潍坊哪里能找到做网站的/成都黑帽seo
  • 哪个网站做简历/semir是什么意思
  • 广州网站建设信科网络/网站流量统计查询
  • 国内使用wordpress/百度seo推广
  • 百度站点管理/今日新闻最新头条10条
  • jsp做网站实例教程/福州seo
  • 机票酒店 网站建设/打开百度一下网页版
  • 浅析淘宝网站的建设与运营论文/快手seo软件下载
  • 金融直播室网站建设/小程序商城
  • 上海企业网站备案/婚恋网站排名前10
  • 提升网站建设/竞价托管就选微竞价
  • 旅游网站开发需求/网络营销的目标
  • 网站备案主体授权书/竞价托管多少钱一个月
  • 免费虚拟机安卓版/seo关键词排名技术
  • 东莞家具网站建设/小吃培训2000元学6项
  • 520高清网站三级黄色软件男女做/安卓优化大师官网下载
  • 南京网站推广¥做下拉去118cr/nba排名2021最新排名
  • 做3d图的网站/设计网站模板
  • 网站群建设管理办法/网站优化排名方法有哪些
  • 做电商网站电商公司/武汉seo招聘
  • 企业建站公司报价/拉新推广一手接单平台
  • 曲阜网站建设哪家便宜/百度网页入口
  • 用dw做网站怎么单独修改字体/网络推广运营
  • css不规则网站导航怎么做/建站网站
  • 代做毕业设计网站多少钱/做直销去哪里找客户
  • 浦东网站建设公司/谷歌推广外包
  • 佛山网站建设外包/电脑课程培训零基础
  • 南京汽车企业网站建设/1688黄页大全进口