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

怎么做可以直播的网站太仓市质监站网址

怎么做可以直播的网站,太仓市质监站网址,做门窗投标网站,创建博客网站文章目录 把普通数组转换大顶堆数组堆增删改查替换堆排序 把普通数组转换大顶堆数组 该方式适用索引为0起点的堆 在堆#xff08;Heap#xff09;这种数据结构中#xff0c;节点被分为两类#xff1a;叶子节点#xff08;Leaf Nodes#xff09;和非叶子节点#xff08;N… 文章目录 把普通数组转换大顶堆数组堆增删改查替换堆排序 把普通数组转换大顶堆数组 该方式适用索引为0起点的堆 在堆Heap这种数据结构中节点被分为两类叶子节点Leaf Nodes和非叶子节点Non-Leaf Nodes。 叶子节点是指没有子节点的节点它们位于堆的最底层。在堆中叶子节点的数量总是大于或等于非叶子节点的数量。 非叶子节点是指至少有一个子节点的节点它们位于堆的上层。在二叉堆Binary Heap中非叶子节点的数量总是等于总节点数的一半向上取整。 在堆的操作中非叶子节点的重要性体现在维护堆的性质如最大堆或最小堆方面。当插入或删除节点时可能需要对非叶子节点进行调整以确保堆的性质得到维护。 package Heap;import java.util.Arrays;//大顶堆 public class MaxHeap {int [] array;int size;public MaxHeap(int capacity){this.arraynew int[capacity];}public MaxHeap(int [] array){this.arrayarray;this.sizearray.length;heapify();}//建堆private void heapify(){ // size/2-1找到非叶子节点for (int isize/2-1;i0;i--){down(i);}}//将 parent 索引处的元素下潜与两个孩子较大者交换直至没孩子//或者孩子没他大private void down(int parent){int left parent*21;int rightleft1;int max parent;if (leftsize array[left] array[max]){maxleft;}if (leftsize array[right] array[max]){maxright;}if (max!parent){//找到了更大的孩子swap(max,parent);down(max);}}//交换两个索引private void swap(int i,int j){int t array[i];array[i]array[j];array[j]t;}public static void main(String[] args) {int [] arr {1,2,3,4,5,6,7};MaxHeap maxHeap new MaxHeap(arr);System.out.println(Arrays.toString(maxHeap.array));} } 堆增删改查替换 package Heap;import java.util.Arrays;// 大顶堆 public class MaxHeap {int[] array;int size;public MaxHeap(int capacity) {this.array new int[capacity];}public MaxHeap(int[] array) {this.array array;this.size array.length;heapify();}// 获取堆顶元素public int peek() {return array[0];}// 删除堆顶元素public int poll() {int top array[0];swap(0, size - 1);size--;down(0);return top;}// 删除指定索引public int poll(int index) {int delete array[index];swap(index, size - 1);size--;// 维护堆的性质if (index 0 array[index] array[(index - 1) / 2]) {up(index);} else {down(index);}return delete;}// 替换指定索引的元素public void replace(int index, int value) {int oldValue array[index];array[index] value;// 维护堆的性质if (value oldValue) {up(index);} else {down(index);}}// 在堆尾部添加元素public void add(int value) {array[size] value;size;up(size - 1);}// 建堆private void heapify() {// size/2-1找到非叶子节点for (int i size / 2 - 1; i 0; i--) {down(i);}}// 将 parent 索引处的元素下沉与两个孩子较大者交换直至没孩子// 或者孩子没他大private void down(int parent) {int left parent * 2 1;int right left 1;int max parent;if (left size array[left] array[max]) {max left;}if (right size array[right] array[max]) {max right;}if (max ! parent) { // 找到了更大的孩子swap(max, parent);down(max);}}// 将 child 索引处的元素上浮与父节点比较直至父节点大于等于它private void up(int child) {int parent (child - 1) / 2;while (child 0 array[child] array[parent]) {swap(child, parent);child parent;parent (child - 1) / 2;}}// 交换两个索引private void swap(int i, int j) {int t array[i];array[i] array[j];array[j] t;}public static void main(String[] args) {int[] arr {1, 2, 3, 4, 5, 6, 7};MaxHeap maxHeap new MaxHeap(arr);System.out.println(Arrays.toString(maxHeap.array));maxHeap.add(8);System.out.println(Arrays.toString(maxHeap.array));maxHeap.replace(3, 9);System.out.println(Arrays.toString(maxHeap.array));maxHeap.poll(2);System.out.println(Arrays.toString(maxHeap.array));} }堆排序
http://www.zqtcl.cn/news/623767/

相关文章:

  • 手机端网页设计尺寸规范优化seo排名
  • 做网站业务提成多少厦门十大装修公司排名榜
  • 为什么用开源建站wordpress rss 插件
  • 语文建设投稿网站南昌做网站的公司多不多
  • 石家庄网站建设的公司功能性质网站
  • 企业网站主页模板装饰公司名字起名大全
  • 马鞍山网站设计价格如何在微信公众号内部做网站
  • 申请网站建设经费的报告生态建设网站
  • 建网站要多少钱用自己的服务器河北工程大学网站开发成本
  • 宁波网站建站公司商务网站模块设计时前台基础设施建设不包括
  • 徐州免费网站制作怎么用阿里云服务器搭建wordpress
  • php猎奇源码 织梦新闻视频图片八卦娱乐趣事资讯门户网站模板html代码表格
  • 南通做网站优化哪家好网页策划书 网站建设定位
  • 防止访问网站文件夹绵阳 网站设计
  • 网页与网站的区别是什么东莞网站公司排名
  • 盐城市城乡和住房建设厅网站wordpress文章订阅
  • 济南网站优化wordpress文件上传到那个文件
  • 外贸网站租用外国服务器好还是自己装一个服务器好高质量外链网站
  • 珠海专门做网站成都到西安
  • 网站做1920px好吗长沙seo优化排名
  • 哈尔滨微信网站开发wordpress 视
  • wordpress 分享封面图片尺寸重庆官网优化乐育公司
  • dede手机网站更新受欢迎的昆明网站建设
  • 网站设计外包合同专做自驾游的网站
  • 网站建设服务预算游戏网站怎么赚钱
  • 怎么做网站关键词视频手机网页前端开发
  • 好网站具备条件网站建设外链
  • 青岛如何建立企业网站企业中国数据域名注册
  • 怎么看网站做的好不好南京h5 网站建设
  • 贵阳微信网站制作下列哪一项不属于电子商务网站建设