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

手机微网站制作消防工程师证报考条件是什么

手机微网站制作,消防工程师证报考条件是什么,百度收录效果好的网站,加强局门户网站建设图解 堆排序是一种常见的排序算法,它借助了堆这种数据结构。堆是一种完全二叉树,它可以分为两种类型:最大堆和最小堆。在最大堆中,每个结点的值都大于等于它的子结点的值,而在最小堆中,每个结点的值都小于等…

 图解

        堆排序是一种常见的排序算法,它借助了堆这种数据结构。堆是一种完全二叉树,它可以分为两种类型:最大堆和最小堆。在最大堆中,每个结点的值都大于等于它的子结点的值,而在最小堆中,每个结点的值都小于等于它的子结点的值。

        堆排序的基本思想是:先将待排序的序列构建成一个最大堆(或者最小堆),然后将堆顶元素(最大值或最小值)与序列的最后一个元素交换位置,然后再将剩余的元素重新构建成一个最大堆(或最小堆),继续进行交换和重构堆的操作,直到所有元素都排列好为止。

        堆排序的时间复杂度为O(nlogn),它不仅具有稳定性,而且还适合处理大规模数据的排序问题。

        堆排序是一种基于二叉堆的排序算法,它的时间复杂度为 O(n log n)。

        以下是 Java 实现堆排序的代码:

public class HeapSort {public static void sort(int[] arr) {int n = arr.length;// 建立最大堆for (int i = n / 2 - 1; i >= 0; i--) {heapify(arr, n, i);}// 逐步取出堆顶元素,放置到数组末尾for (int i = n - 1; i > 0; i--) {swap(arr, 0, i);heapify(arr, i, 0);}}private static void heapify(int[] arr, int n, int i) {int largest = i; // 初始化最大节点为当前节点 iint left = 2 * i + 1; // 左子节点int right = 2 * i + 2; // 右子节点// 如果左子节点大于当前节点,则更新最大节点为左子节点if (left < n && arr[left] > arr[largest]) {largest = left;}// 如果右子节点大于当前节点和左子节点,则更新最大节点为右子节点if (right < n && arr[right] > arr[largest]) {largest = right;}// 如果最大节点不是当前节点,则交换它们,再以最大节点为根继续向下堆化if (largest != i) {swap(arr, i, largest);heapify(arr, n, largest);}}private static void swap(int[] arr, int i, int j) {int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}
}

        在上述代码中,sort 方法代表堆排序的入口,它首先建立最大堆,再逐步取出堆顶元素,放置到数组末尾。

  heapify 方法用于维护最大堆的性质,它接受三个参数:数组、数组长度和当前节点的索引。该方法首先找到当前节点的左子节点和右子节点,然后找出它们中的最大值。如果最大值不是当前节点,则交换它们,并以最大节点为根继续向下堆化,直到完成维护最大堆的过程。

  swap 方法用于交换数组中的两个元素。

http://www.yayakq.cn/news/964186/

相关文章:

  • 深圳龙岗房价2023最新价格seo的基本步骤是什么
  • 网站地图生成行业网站运营计划
  • 自己制作网站做外贸赚钱吗菲律宾做网站
  • 网站设计怎么保持风格一致网页设计与制作实训总结报告
  • 做网站设计好的公司wordpress 建网站
  • 360免费建站官网入口抖音代运营销售话术
  • 网站模板二次开发网络推广是以企业产品或服务
  • 网站备案需要什么住房和城乡建设局网站
  • 怎么注册建设公司网站wordpress+一页一屏
  • 创业网站开发聊天软件哪个最火
  • 南通做网站企业网站建设方案打包
  • asp.net 网站 方案男女做某事网站
  • 谁家网站做的好wordpress插件使用数量
  • 蒙城做网站的公司wordpress注入广告
  • 诚通凯胜生态建设有限公司网站网站改版的原因
  • wap网站登陆系统物流网站建设规划总结
  • 可以做投票的网站网站开发学什么编程语言
  • 清溪网站建设公司网站建设需要几个人
  • 做一个众筹网站多少钱手机版房屋3d效果图设计软件
  • 海外网站免费建设怎么做淘宝网站的网页
  • 电商网站开发 思维导图seo专业为网站建设
  • 湖北可以做网站方案的公司google中文搜索引擎
  • 12306网站架构小软件制作教程
  • 沈阳专业网站制作设计外贸网站如何做
  • 网站怎么做备份现在还可以做夺宝网站
  • 重庆专业网站排名团队seo排名优化哪里好
  • 江门建站模板搭建深圳企业网页设计哪家专业
  • 互联科技行业网站列举常用网站开发技术
  • html5网站开发设计微信小程序里的游戏怎么彻底关闭
  • 购物网站中加减数目的怎么做做网站业务提成多少