当前位置: 首页 > 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.khdw.cn/news/66027.html

相关文章:

  • dede网站源码直播代运营公司
  • 自媒体平台注册头条号阳城seo排名
  • 温州做阀门网站公司企业网站建设步骤
  • 免费设计素材库关键词seo排名怎么样
  • 国外知名设计网站网站建设开发
  • 网站建设计划书范文百度seo营销
  • 大众汽车网站建设在线工具网站
  • 武汉高端网站制作seo软件代理
  • 最专业汽车网站建设彼亿营销
  • wordpress进入中国市场seo竞价培训
  • app订制开发公司新手做seo怎么做
  • 郑东新区建设局网站网站统计数据分析
  • 建设银行上海黄浦支行网站员工培训内容
  • 塑胶原料 东莞网站建设合肥网站制作
  • 网站关键词的分类排名nba
  • 给艺术家做网站的工作各地疫情最新消息
  • 扬州做网站的seo没什么作用了
  • c 做网站怎么连接到别的网页短视频seo询盘获客系统软件
  • 矢量插画的网站免费推广网站注册入口
  • 怎么加入电商seo项目经理
  • 淄博网站建设同圈科技网站seo搜索
  • 浪起网站建设满足seo需求的网站
  • 写出网站建设步骤seo网络推广专员招聘
  • 设计网站printerest成品网站1688入口网页版怎样
  • 成都专业网站建设价格低网络营销名词解释答案
  • 江门外贸网站建设app怎么推广
  • bl做的视频网站互联网营销师课程
  • 废旧网站那个做的最好百度信息流推广
  • 养殖企业网站seo查询seo
  • 中山做网站哪个公司好超级外链在线发布