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

建筑网价格qq关键词排名优化

建筑网价格,qq关键词排名优化,重庆建设工程招标信息网站,qq免费搭建网站图解 堆排序是一种常见的排序算法,它借助了堆这种数据结构。堆是一种完全二叉树,它可以分为两种类型:最大堆和最小堆。在最大堆中,每个结点的值都大于等于它的子结点的值,而在最小堆中,每个结点的值都小于等…

 图解

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

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

        堆排序的时间复杂度为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.tj-hxxt.cn/news/45507.html

相关文章:

  • wordpress 设置显示中文字体济南seo整站优化招商电话
  • 龙岗网站多少钱营销推广活动策划
  • 加强门户网站建设提升海底捞口碑营销
  • discuz做视频网站千牛怎么做免费推广引流
  • 做期货财经网站需要哪些资质网络营销服务有哪些
  • 南京汽车企业网站建设最好的seo外包
  • 上海网站建设设计制作关键词优化搜索引擎
  • 企业网站设计合同如何创建网站站点
  • 临安区建设局网站5月疫情第二波爆发
  • 平面广告设计工作内容重庆seo网络推广平台
  • 承德网站建设咨询优化设计五年级下册数学答案
  • 做关于植物的网站厨师培训学校
  • html cssseo 优化顾问
  • 红树湾南网站开发怎么制作一个自己的网站
  • 网站建设模板的百度首页关键词推广
  • 中华人民共和国住房建设部网站alexa全球网站排名分析
  • 搭建网站多少时间站点
  • 国内哪些网站是php做的网络营销的内容主要有哪些
  • 网站做可以退款吗手机营销推广方案
  • 浙江省建设网站汕头seo推广外包
  • 作品集的个人网站怎么做站长之家域名信息查询
  • 网站建设吉金手指排名11长沙百度seo
  • 网站空间代理加盟sem竞价开户
  • 公司做网站哪里做交换友情链接的方法
  • 有没有做生物科技相关的网站企业网站营销的优缺点及案例
  • 江山企业自适应网站建设首选灰色项目推广渠道
  • 潜江公司做网站网络营销策划方案800字
  • 做家电网是什么网站合肥百度seo排名
  • 一 网站建设方案云搜索网页版入口
  • 赤峰中国建设招标网站seo关键字排名