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

加盟商网站建设代理记账一般多少钱一个月

加盟商网站建设,代理记账一般多少钱一个月,永兴县网站建设服务商,qq企业邮箱怎么开通注册文章目录 把普通数组转换大顶堆数组堆增删改查替换堆排序 把普通数组转换大顶堆数组 该方式适用索引为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.pierceye.com/news/376909/

相关文章:

  • 深圳网站建设公司元嘉定网站开发
  • 佛山外贸网站建设平台上传网站安装教程
  • c2c网站建设实例德国网站建设
  • 建网站支持设备是什么意思佛山中小企业网站建设
  • 网站建设与管理读后感宁德住房和城乡建设部网站
  • 贸易网站建站建设部网站社保联网
  • 住房城乡建设厅网站准考证如何建小企业网站
  • 葫芦岛市城乡建设局网站做什么样的网站
  • 铜山区规划建设局网站大学生心理咨询网站建设论文
  • 泸州本地网站建设扬州做网站公司
  • 镇江网站建设工作室怎么购买国外的域名
  • 广西南宁电商网站建设找客户信息的软件
  • 信阳网站开发公司2022中国互联网公司市值排名
  • 巨鹿县住房与城乡建设厅网站wordpress内容付费插件
  • 网站设计建设维护wordpress 仿搜狗百科
  • 做网站写的代号好跟不好的区别中国500强企业官网
  • html个人网站wordpress 后台 字数统计
  • 网站开发包括哪些技术网站后台框架模版
  • 济南地产行业网站开发长春网络推广
  • 网站建设全程揭秘网站建设费能抵扣吗
  • 网站开发用什么语言最安全网站的ftp在哪里可以查到
  • 物理结构网站我国网站建设现状
  • 毕设如何做网站tk网站免费
  • 做logo的著名网站一起做网商网站怎么样
  • 楼盘销售管理网站开发资源网站界面设计形考
  • 哪个网站做视频挣钱网络推广方案下拉管家微xiala11
  • 天津营销型网站建设费用来宾绍兴seo网站托管方案
  • 哈尔滨网站制作工程上海网站快速优化排名
  • 兰州网站制作怎么样质量好网站建设公司
  • wordpress全站cdn ssl商务局网站溪江农贸市场建设