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

钦州网站建设哪家便宜天辰建设网官网

钦州网站建设哪家便宜,天辰建设网官网,软件设计要求,北碚网站建设哪家好大根堆小根堆的实现#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.zqtcl.cn/news/188495/

相关文章:

  • 广州网站开发公司公司级别网站开发
  • 做网站备案哪些条件怎样选择网站的关键词
  • 有没有专门做名片的网站忘记网站后台账号
  • 重庆建设工程招标网站印尼建设银行网站
  • 什么是网站流量优化四川住房建设厅网站
  • 现在还有企业做网站吗做百度推广送的网站
  • 公司年前做网站好处互联网推广运营是做什么的
  • 公司网站建设杭州钓鱼网站制作的报告
  • 宁海有做网站的吗网络规划设计师需要掌握哪些
  • 百度云注册域名可以做网站明码有了主机如何做网站
  • 门户网站推广方案连云港市电信网站建设
  • 网站程序如何制作app商城开发价格
  • 用易语言做攻击网站软件国药控股北京有限公司
  • 宁津 做网站湛江招聘网最新招聘
  • 网站建设优化服务器asp企业网站
  • 门窗网站源码建筑模板厂家联系方式
  • 太原网站建设解决方案做建筑机械网站那个网站好
  • 丹徒做网站产品外贸营销推广方案
  • 信息技术 网站建设教案做是么网站
  • 网站建设培训报名wordpress 到小程序
  • 郑州做网站软件建设网站培训
  • 做网站卖东西赚钱吗凡科互动官网登陆
  • 免费写作网站通道一通道二通道三免费
  • 腾讯云做网站选哪个网络广告推广员
  • 昆明网站开发哪家好做网站怎么做小图标
  • 泉州做外贸网站成都idc机房托管
  • 南京林业大学实验与建设网站宁波软件开发制作
  • 北京专业网站制作服务郑州有学网站制作
  • 搭建wordpress需要什么样的环境专注软件优化分享的网站
  • 网站备案后 如何建设下载免费ppt模板