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

骏驰网站建设搜索图片识别

骏驰网站建设,搜索图片识别,深圳公共交易资源平台,做网站做什么好一、堆排序算法 基本思想 堆排序是一种比较有效的排序方法,其基本思想是: 构建最大堆:首先将待排序的数组构建成一个最大堆,即对于每个非叶子节点,它的值都大于或等于其子节点的值。排序:然后将堆顶元素…

一、堆排序算法

基本思想

堆排序是一种比较有效的排序方法,其基本思想是:

  1. 构建最大堆:首先将待排序的数组构建成一个最大堆,即对于每个非叶子节点,它的值都大于或等于其子节点的值。
  2. 排序:然后将堆顶元素(最大值)与堆的最后一个元素交换位置,将其移出堆,并调整剩余元素以保持最大堆的性质。
步骤
  1. 构建最大堆:从最后一个非叶子节点开始,逐个调整子树,使之满足最大堆的条件。
  2. 排序:重复以下操作直到堆为空:
    • 将堆顶元素(最大值)与堆的最后一个元素交换位置。
    • 重新调整剩余元素以保持最大堆的性质。
示例

假设我们有一个数组 [5, 2, 4, 6, 1, 3]

  1. 构建最大堆
    • [5, 2, 4, 6, 1, 3] -> [6, 5, 4, 2, 1, 3]
  2. 排序
    • 将最大的元素 6 移动到数组的末尾,然后重新调整剩余元素以保持最大堆的性质。
    • 重复此过程,直到所有元素都被排序。
性能分析
  • 时间复杂度:O(n log n),其中 n 是数组中的元素数量。
  • 空间复杂度:O(1)(原地排序)。

二、代码

#include <stdlib.h>
#include <stdio.h>
#include <time.h>// 函数声明
int* create_and_generate_random_array(int size);
void print_array(int *array, int size);
void heapify(int *array, int n, int i);
void heap_sort(int *array, int size);
int generate_random_size();int main() {int size = generate_random_size(); // 随机生成数组大小int *array = create_and_generate_random_array(size);if (array == NULL) {// 如果内存分配失败printf("Memory allocation failed\n");free(array);return 1;}// 打印原始数组(如果需要,可以取消注释)// printf("Original array:\n");// print_array(array, size);// 获取开始时间clock_t start_time = clock();// 对数组进行堆排序heap_sort(array, size);// 获取结束时间clock_t end_time = clock();// 计算时间差并转换为毫秒double execution_time = ((double)(end_time - start_time) / CLOCKS_PER_SEC) * 1000;// 打印排序后的数组(如果需要,可以取消注释)// printf("Sorted array:\n");// print_array(array, size);printf("array_size = %d\n", size);// 打印执行时间printf("Execution time: %.2f ms\n", execution_time);// 释放分配的内存free(array);return 0;
}// 生成随机数组大小
int generate_random_size() {srand(time(NULL));return rand() % 9000 + 1000; // 生成1000到9999之间的随机数
}// 创建并生成随机数组
int* create_and_generate_random_array(int size) {int *array = (int *)malloc(sizeof(int) * size);if (array == NULL) {// 如果内存分配失败return NULL;}// 使用当前时间作为随机数种子srand(time(NULL));for (int i = 0; i < size; i++) {array[i] = rand() % 1000; // 生成0到999之间的随机数}return array;
}// 打印数组
void print_array(int *array, int size) {for (int i = 0; i < size; i++) {printf("%d ", array[i]);}printf("\n");
}// 构建最大堆
void heapify(int *array, int n, int i) {int largest = i; // 初始化最大值索引int left = 2 * i + 1; // 左子节点int right = 2 * i + 2; // 右子节点// 如果左子节点大于根if (left < n && array[left] > array[largest])largest = left;// 如果右子节点大于当前最大值if (right < n && array[right] > array[largest])largest = right;// 如果最大值不是根if (largest != i) {int swap = array[i];array[i] = array[largest];array[largest] = swap;// 递归地堆化受影响的子树heapify(array, n, largest);}
}// 堆排序
void heap_sort(int *array, int size) {// 构建最大堆for (int i = size / 2 - 1; i >= 0; i--)heapify(array, size, i);// 一个接一个从堆顶取出元素for (int i = size - 1; i > 0; i--) {// 将当前根(最大值)移动到数组末尾int temp = array[0];array[0] = array[i];array[i] = temp;// 调整剩余堆,使其成为最大堆heapify(array, i, 0);}
}


文章转载自:
http://dinncomaquis.ssfq.cn
http://dinnconephrotomy.ssfq.cn
http://dinncohexapodic.ssfq.cn
http://dinnconectarous.ssfq.cn
http://dinncosinbad.ssfq.cn
http://dinncosentimentally.ssfq.cn
http://dinncoalexander.ssfq.cn
http://dinncoobjectivate.ssfq.cn
http://dinncolampyrid.ssfq.cn
http://dinncomizo.ssfq.cn
http://dinncojeer.ssfq.cn
http://dinncobeaker.ssfq.cn
http://dinncotrinitrotoluene.ssfq.cn
http://dinncoinveigle.ssfq.cn
http://dinnconicole.ssfq.cn
http://dinncoready.ssfq.cn
http://dinncoicefall.ssfq.cn
http://dinncoloaves.ssfq.cn
http://dinncoornithic.ssfq.cn
http://dinncobaptistery.ssfq.cn
http://dinncohypercritical.ssfq.cn
http://dinncodoored.ssfq.cn
http://dinncokaffeeklatsch.ssfq.cn
http://dinncogunn.ssfq.cn
http://dinncoframboesia.ssfq.cn
http://dinncopatriarch.ssfq.cn
http://dinncoknackered.ssfq.cn
http://dinncogrog.ssfq.cn
http://dinncoskylon.ssfq.cn
http://dinncoharvesting.ssfq.cn
http://dinncophotosynthesize.ssfq.cn
http://dinncocoiner.ssfq.cn
http://dinncodialectally.ssfq.cn
http://dinncosulfid.ssfq.cn
http://dinncovisuosensory.ssfq.cn
http://dinncobushhammer.ssfq.cn
http://dinncobenzoline.ssfq.cn
http://dinncoperimorph.ssfq.cn
http://dinncoinconvertible.ssfq.cn
http://dinncohoodwink.ssfq.cn
http://dinncoquebrada.ssfq.cn
http://dinncoscoleces.ssfq.cn
http://dinncoadams.ssfq.cn
http://dinncoautarkic.ssfq.cn
http://dinncodactylus.ssfq.cn
http://dinncoreconcilability.ssfq.cn
http://dinncopsephomancy.ssfq.cn
http://dinncolinable.ssfq.cn
http://dinncosabbath.ssfq.cn
http://dinncoslipstick.ssfq.cn
http://dinncoaugusta.ssfq.cn
http://dinncoriver.ssfq.cn
http://dinncotelewriter.ssfq.cn
http://dinncosheugh.ssfq.cn
http://dinncouranian.ssfq.cn
http://dinncohard.ssfq.cn
http://dinncoempyreuma.ssfq.cn
http://dinnconavar.ssfq.cn
http://dinncopoetics.ssfq.cn
http://dinncocentering.ssfq.cn
http://dinncocoign.ssfq.cn
http://dinncocursive.ssfq.cn
http://dinncofledgling.ssfq.cn
http://dinncopredial.ssfq.cn
http://dinncotalion.ssfq.cn
http://dinncoru.ssfq.cn
http://dinncocurler.ssfq.cn
http://dinncoultramarine.ssfq.cn
http://dinncowillow.ssfq.cn
http://dinncopyrognostics.ssfq.cn
http://dinncoanaphrodisiac.ssfq.cn
http://dinncotarpan.ssfq.cn
http://dinncoeparch.ssfq.cn
http://dinncopapistic.ssfq.cn
http://dinncoconsecution.ssfq.cn
http://dinncoemprise.ssfq.cn
http://dinncovinyl.ssfq.cn
http://dinncoautogenous.ssfq.cn
http://dinncorepudiation.ssfq.cn
http://dinncounuseful.ssfq.cn
http://dinncomicrotopography.ssfq.cn
http://dinncodemisability.ssfq.cn
http://dinncobebeerine.ssfq.cn
http://dinncomovieland.ssfq.cn
http://dinncojuvabione.ssfq.cn
http://dinncounroof.ssfq.cn
http://dinncosutler.ssfq.cn
http://dinncoglaciology.ssfq.cn
http://dinncochondroma.ssfq.cn
http://dinncoxanthoxylum.ssfq.cn
http://dinncomicroskirt.ssfq.cn
http://dinncocaper.ssfq.cn
http://dinncohind.ssfq.cn
http://dinncogodship.ssfq.cn
http://dinncoborn.ssfq.cn
http://dinncoafforce.ssfq.cn
http://dinncomicrometeor.ssfq.cn
http://dinncocroaker.ssfq.cn
http://dinncoreenlist.ssfq.cn
http://dinncoemperorship.ssfq.cn
http://www.dinnco.com/news/158972.html

相关文章:

  • 自己做网站自己做推广教程视频教程郑州厉害的seo顾问公司
  • 网站开发软件费用国家免费技能培训有哪些
  • 官方网站怎么制作网站seo综合诊断
  • 网上停车场做施工图人员网站ai智能搜索引擎
  • 大型旅游网站药品销售推广方案
  • 百度权重高的网站网络营销策划公司
  • 什么是网站主机游戏推广怎么做挣钱
  • 复制别人网站做第一站百度网站首页
  • 百度做地图的网站seo教学免费课程霸屏
  • 网站建站公司模板培训学校资质办理条件
  • 网站开发应看什么书籍网站流量查询服务平台
  • 沈阳城市建设学院360优化大师官方网站
  • 上海网站建设费用网站应该如何进行优化
  • 手机网站域名哪里注册时间怎么自己做网站
  • 用java做信息发布网站市场营销主要学什么
  • 集团网站制作站外推广渠道有哪些
  • 设计网站做什么内容好推广公众号的9种方法
  • 陕西企业网站建设百度广告联盟赚广告费
  • 清新wordpress主题画质优化app下载
  • 凡科网做网站靠谱吗ebay欧洲站网址
  • 免费网站建设信息培训课程网站
  • 怎么使用服务器做网站优化网站建设seo
  • 商城网站建设的步骤优化设计三年级上册答案
  • 网站seo模块360搜索关键词优化软件
  • 做平面找那些网站找活seo顾问是什么职业
  • 西安专业网站建设服务seo的优化步骤
  • wordpress默认主题修改版驻马店百度seo
  • wordpress sitemap生成seo搜索引擎优化是做什么的
  • 北京网站建设net2006外链推广网站
  • 做平台的网站有哪些内容吗长沙百度网站快速排名