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

做网站要写多少行代码网站备案没通过不了

做网站要写多少行代码,网站备案没通过不了,山东爱易网站建设工作室,江门住房与城乡建设局官方网站堆排序(Heapsort)是一种在时间复杂度上达到了最优的基于比较的排序算法。堆排序算法是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子节点的键值或索引总是小于&#xff0…

 

堆排序(Heapsort)是一种在时间复杂度上达到了最优的基于比较的排序算法。堆排序算法是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子节点的键值或索引总是小于(或者大于)它的父节点。

堆排序的基本思想是:

  1. 首先将待排序的序列构造成一个大顶堆(或小顶堆)。
  2. 此时,整个序列的最大值(或最小值)就是堆顶的根节点。
  3. 将其与末尾元素进行交换,此时末尾就为最大值(或最小值)。
  4. 然后将剩余n-1个元素重新构造成一个堆,这样会得到n个元素的次小值(或次大值)。
  5. 如此反复执行,便能得到一个有序序列了。

堆排序的时间复杂度是O(n log n)。

#include <stdio.h>  // 将以k为根的子树调整为最大堆  
void heapify(int arr[], int n, int k) {  int largest = k;  // 初始化根节点最大  int left = 2 * k + 1;  // 左子节点  int right = 2 * k + 2;  // 右子节点  // 如果左子节点比根节点大,则更新最大节点  if (left < n && arr[left] > arr[largest]) {  largest = left;  }  // 如果右子节点比最大节点大,则更新最大节点  if (right < n && arr[right] > arr[largest]) {  largest = right;  }  // 如果最大节点不是根节点,则交换根节点和最大节点,并继续调整子树  if (largest != k) {  int temp = arr[k];  arr[k] = arr[largest];  arr[largest] = temp;  heapify(arr, n, largest);  }  
}  // 堆排序函数  
void heapSort(int arr[], int n) {  // 构建最大堆  for (int i = n / 2 - 1; i >= 0; i--) {  heapify(arr, n, i);  }  // 从堆顶开始取出元素,并重新调整堆  for (int i = n - 1; i >= 0; i--) {  int temp = arr[0];  arr[0] = arr[i];  arr[i] = temp;  heapify(arr, i, 0);  }  
}  int main() {  int arr[] = {10, 7, 8, 9, 1, 5};  int n = sizeof(arr) / sizeof(arr[0]);  printf("Original array: ");  for (int i = 0; i < n; i++) {  printf("%d ", arr[i]);  }  printf("\n");  heapSort(arr, n);  printf("Sorted array: ");  for (int i = 0; i < n; i++) {  printf("%d ", arr[i]);  }  printf("\n");  return 0;  
}

该代码中,heapify函数将以k为根的子树调整为最大堆,heapSort函数则先构建最大堆,然后从堆顶开始取出元素并重新调整堆,最终得到排序后的数组。

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

相关文章:

  • 做内衣的网站域名绑定网站需要多久
  • 易语言怎么做网页网站百度权重查询入口
  • 企业网站模板htmlWordPress留下评论
  • 村建站属于哪个部门windows优化大师提供的
  • 农村建设有限公司网站企业网网页
  • 海南四定网站开发网站建设多久学会
  • 中国建设银行网站太慢了点子网创意网
  • 网站标题能改吗有没有网址
  • 曲靖网站制作一条龙网站建设渠道合作
  • 建设网站费用评估怎么建立免费个人网站
  • 网站后台服务苏宁易购网页布局设计
  • 网站后台无法上传照片WordPress纯代码标签页面
  • 烟台有没有做网站情感营销的十大案例
  • 公司网站模板免费版中国采购网招标公告
  • 网站右侧浮动广告软件网站开发合同
  • 织梦网站移动化怎样做网站的优化、排名
  • 网站开发如何共用菜单栏西安企业排行榜
  • 59网一起做网站哪些公司做外贸网站好
  • 建设银行网站不足和建议国际军事新闻最近新闻
  • 网站可以更换域名吗施工企业oa办公系统
  • 高密做网站的价格汕头推广平台
  • 福建漳州网站建设费用那些门户网站的官网做的好
  • 网站推广员是什么阿里云服务器建设两个网站
  • 沈阳免费网站建站模板北京住房城乡建设部网站八大员
  • 网站建设哪里公司好竞价广告推广
  • 网站做flash好不好做广告在哪个网站做效果人流最多
  • 做网站买域名怎么弄佛山市锵美装饰有限公司网站建设案例
  • 快速建立网站创建一个网络平台需要多少钱
  • 广告投放网站建设网站你认为需要注意
  • 一家公司多个网站备案企业网站首页设计评价