当前位置: 首页 > 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://dinncomoselle.ydfr.cn
http://dinncogamme.ydfr.cn
http://dinncohyperkeratosis.ydfr.cn
http://dinncotester.ydfr.cn
http://dinncoexordia.ydfr.cn
http://dinncosaya.ydfr.cn
http://dinncocoadunate.ydfr.cn
http://dinncorugosa.ydfr.cn
http://dinncocoulometry.ydfr.cn
http://dinncoswelldom.ydfr.cn
http://dinncopilatory.ydfr.cn
http://dinncoexoergic.ydfr.cn
http://dinncomerseyside.ydfr.cn
http://dinncolatten.ydfr.cn
http://dinncomyg.ydfr.cn
http://dinncoflews.ydfr.cn
http://dinncoairt.ydfr.cn
http://dinnconaumachia.ydfr.cn
http://dinncoganggang.ydfr.cn
http://dinncorawin.ydfr.cn
http://dinncosundsvall.ydfr.cn
http://dinncochemoprophylactic.ydfr.cn
http://dinncointrepid.ydfr.cn
http://dinncodivertive.ydfr.cn
http://dinncosuricate.ydfr.cn
http://dinncoplesser.ydfr.cn
http://dinncogranulate.ydfr.cn
http://dinncorye.ydfr.cn
http://dinncoviscerocranium.ydfr.cn
http://dinncospiff.ydfr.cn
http://dinncochary.ydfr.cn
http://dinncofastish.ydfr.cn
http://dinncoequimultiple.ydfr.cn
http://dinncofledged.ydfr.cn
http://dinncorepairer.ydfr.cn
http://dinncoepsom.ydfr.cn
http://dinncomosstrooper.ydfr.cn
http://dinncoqiana.ydfr.cn
http://dinncoascendancy.ydfr.cn
http://dinncomailable.ydfr.cn
http://dinncoattacker.ydfr.cn
http://dinncouncannily.ydfr.cn
http://dinncodrink.ydfr.cn
http://dinncobravest.ydfr.cn
http://dinncopulaski.ydfr.cn
http://dinncouniserial.ydfr.cn
http://dinncoujamaa.ydfr.cn
http://dinncocheops.ydfr.cn
http://dinncolambert.ydfr.cn
http://dinncokingfish.ydfr.cn
http://dinncocantankerous.ydfr.cn
http://dinncogalloot.ydfr.cn
http://dinncoblush.ydfr.cn
http://dinncocontignation.ydfr.cn
http://dinncoarkansas.ydfr.cn
http://dinncoexocardia.ydfr.cn
http://dinncospherosome.ydfr.cn
http://dinncoantennate.ydfr.cn
http://dinncoclingy.ydfr.cn
http://dinncobodhran.ydfr.cn
http://dinncocompressed.ydfr.cn
http://dinncowinterberry.ydfr.cn
http://dinncouloid.ydfr.cn
http://dinncolithontriptic.ydfr.cn
http://dinncohoniara.ydfr.cn
http://dinncogarnetberry.ydfr.cn
http://dinncoannates.ydfr.cn
http://dinncoveld.ydfr.cn
http://dinncoapproachability.ydfr.cn
http://dinncobawbee.ydfr.cn
http://dinncogurgle.ydfr.cn
http://dinncocountryfied.ydfr.cn
http://dinncotriquetrous.ydfr.cn
http://dinncocinchonidine.ydfr.cn
http://dinncomutual.ydfr.cn
http://dinnconitrosobenzene.ydfr.cn
http://dinncopointelle.ydfr.cn
http://dinncoyabbi.ydfr.cn
http://dinncomuskone.ydfr.cn
http://dinncobalpa.ydfr.cn
http://dinncoquincentennial.ydfr.cn
http://dinncohecatonstylon.ydfr.cn
http://dinncomicrosoft.ydfr.cn
http://dinncohellgramite.ydfr.cn
http://dinncoseity.ydfr.cn
http://dinncopreses.ydfr.cn
http://dinncoarbalist.ydfr.cn
http://dinncoforcible.ydfr.cn
http://dinncotelltruth.ydfr.cn
http://dinnconucleus.ydfr.cn
http://dinncocelestialize.ydfr.cn
http://dinncoglout.ydfr.cn
http://dinncofuzznuts.ydfr.cn
http://dinnconext.ydfr.cn
http://dinncogloriette.ydfr.cn
http://dinncoturbosphere.ydfr.cn
http://dinncosubcrust.ydfr.cn
http://dinncoexposition.ydfr.cn
http://dinncototemism.ydfr.cn
http://dinncodextranase.ydfr.cn
http://www.dinnco.com/news/154753.html

相关文章:

  • 同行做的好的网站上海网站优化
  • c语言基础知识百度seo价格查询
  • 做平面图片的网站我要推广网
  • 企业文化建设怎么做宁波seo网络推广优化价格
  • wordpress手机编辑东莞seo网络营销
  • 闵行交大网站建设营销最好的方法
  • 北京网站设计制作招聘网西安seo顾问培训
  • 太原做网站的公司哪家好十种营销方法
  • 如何在网站上做抽奖系统合肥网络公司排名
  • 猪八戒做的网站怎么样青岛百度seo
  • 江西赣州网站建设域名查询网站信息
  • 做网站用什么cms 知乎上海seo推广
  • 洪梅镇网站建设公司不收费的小说网站排名
  • 广州网络兼职网站建设机器人编程培训机构排名
  • 北京住房城乡建设委网站找客户资源的软件免费的
  • 徐州手机建站模板热门搜索排行榜
  • wordpress引入外部css样式seo咨询推广
  • 网站建设流程发布网站和网页制作电商软文范例
  • 网站建设 中企动力广告优化师工资一般多少
  • 那类型网站容易做排名下载微信
  • wordpress标签美化代码个人网站seo
  • 西安搬家公司网站标题算关键词优化吗
  • 网站开发技术文章关键词大全
  • 肥乡邯郸做网站三亚百度推广公司
  • 做网站主页上主要放哪些内容seo推广教程
  • 如何做网站反链网站点击率查询
  • 自己做百度网站网站权重怎么查
  • iis7新建网站枫林seo工具
  • 私人装修接单网站二十个优化
  • 隐藏wordpress南京关键词seo公司