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

南山区住房与建设局官方网站西双版纳 网站建设

南山区住房与建设局官方网站,西双版纳 网站建设,深圳大森设计,app开发费用计入什么科目大根堆小根堆的实现#xff1a;以PPT形式呈现大根堆构建的理论过程1、首先涉及到一个堆的调整#xff0c;这也是算法的核心部分。假设树中#xff0c;节点i的子树已经为两个大根堆。这两个子树再加上i节点的话#xff0c;可能是大根堆也可能不是#xff0c;因此需要对节点…大根堆小根堆的实现以PPT形式呈现大根堆构建的理论过程1、首先涉及到一个堆的调整这也是算法的核心部分。假设树中节点i的子树已经为两个大根堆。这两个子树再加上i节点的话可能是大根堆也可能不是因此需要对节点i进行调整。若i小于left(i) or right(i)需要将i下移。2、这是一个例子需要将4下移。满足大根堆的性质。3、大根堆的调整算法。假设i节点的两个子树已经是大根堆。对应代码中MaxHeapify()函数。4、算法正确性分析。5、构建大根堆的过程中只需要考虑n/2 1 之前的节点因为之后的节点都是叶节点。6、构建大根堆的算法。对应代码中MaxHeapCreat()函数#include #include #include #include #include /*目的建立大根堆也可以变成小根堆核心堆的调整输入一系列来自文件的整数。文件中整数以空格隔开输出大根堆*/void Swap(uint32_t* array, uint32_t i, uint32_t j){assert(array);uint32_t tmp;tmp array[j];array[j] array[i];array[i] tmp;}/*大根堆调整*/void MaxHeapify(uint32_t* array, uint32_t heapSize, uint32_t currentNode){uint32_t leftChild, rightChild, largest;leftChild 2*currentNode 1;rightChild 2*currentNode 2;if(leftChild heapSize array[leftChild] array[currentNode])largest leftChild;elselargest currentNode;if(rightChild heapSize array[rightChild] array[largest])largest rightChild;if(largest ! currentNode){Swap(array, largest, currentNode);MaxHeapify(array, heapSize, largest);}}/*构建大根堆*/void MaxHeapCreat(uint32_t* array, uint32_t heapSize){int i;for(i heapSize/2; i 0; i--){MaxHeapify(array, heapSize, i);}}/*小根堆调整*/void MinHeapify(uint32_t* array, uint32_t heapSize, uint32_t currentNode){uint32_t leftChild, rightChild, minimum;leftChild 2*currentNode 1;rightChild 2*currentNode 2;if(leftChild heapSize array[leftChild] array[currentNode])minimum leftChild;elseminimum currentNode;if(rightChild heapSize array[rightChild] array[minimum])minimum rightChild;if(minimum ! currentNode){Swap(array, minimum, currentNode);MinHeapify(array, heapSize, minimum);}}/*构建小根堆*/void MinHeapCreat(uint32_t* array, uint32_t heapSize){int i;for(i heapSize/2; i 0; i--){MinHeapify(array, heapSize, i);}}int main(){uint32_t tmp;uint32_t *array;array malloc(sizeof(uint32_t));int i, heapSize 0;/*从文件中读出待排序数据*/char* filePathway C:/Users/Administrator/Desktop/data.txt;FILE* fp;fp fopen(filePathway, rb);if(!fp){fprintf(stderr, Can not open file correctly\n);}while(!feof(fp)){fscanf(fp, %d, tmp);heapSize;array realloc(array, sizeof(uint32_t) * (heapSize ));if(array NULL){fprintf(stderr, realloc error!\n);return 1;}array[heapSize - 1] tmp;}printf(The origen dataset:\n);for(i 0; i heapSize; i){printf(%d\t, array[i]);}printf(\n);/*构建小根堆并输出*/MinHeapCreat(array, heapSize);printf(Output the MinHeap:\n);for(i 0; i heapSize; i){printf(%d\t, array[i]);}printf(\n);/*构建大根堆并输出*/MaxHeapCreat(array, heapSize);printf(Output the MaxHeap:\n);for(i 0; i heapSize; i){printf(%d\t, array[i]);}free(array);fclose(fp);return 0;}
http://www.huolong8.cn/news/324034/

相关文章:

  • 重庆网站设计哪家好少儿培训
  • 企业网站建设有几种青岛手机建站多少钱
  • 自己做的网站能赚钱吗国内知名展示设计公司
  • 网站开发计入会计 什么科目营销型网站如何策划
  • 东营网站设计公司建筑门户网站
  • 网站的在线支付模块怎么做企业所得税优惠政策2020
  • 坪山网站建设行情做网站除了域名还要买什么
  • 免费资料网站网址下载视频网站开发php
  • 什么是网站建设技术react 网站开发
  • 校园淘宝店网站开发百度灰色关键词代发
  • 深圳外贸建站网络推广公司做爰全程的网站
  • 如何做网站连接手机app ui设计
  • 免费建立网站教程php作品源代码免费下载
  • 如何做网站的营销高端网页制作公司
  • 美仑-专门做服装的网站餐饮网站开发
  • 做网站的手机软件济南企业网站搭建
  • 专业做网站+上海建设制作网站
  • 做网站公司 备案在线做头像网站
  • 常德营销型网站建设小白如何建网站
  • 图片网站如何优化wordpress导入模板之后
  • 男女怎样做那个视频网站黄岗住房和城乡建设厅官方网站
  • 海口网站建设哪个好薇郑州企业网络推广
  • 渭南市住建设局网站司法局网站开发方案
  • 网站免费建站厂商定制深圳企业网站制作公司查询
  • 五金公司网站模板门户网站是指提供什么的网站
  • wordpress做企业展示站动漫设计就业率高吗
  • 虾皮购物网站怎么做php做网站需要注意什么
  • 莆田有交做外贸网站的没如何注册公司支付宝账户
  • 怎样用虚拟主机建网站天元网络
  • 城乡建设学校官方网站响应式网站框架