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

汕头建站模板系统十大免费软文推广平台

汕头建站模板系统,十大免费软文推广平台,看电视剧免费的网站,网页特效素材1.堆的概念 如果有一个关键码的集合 K { k1 &#xff0c;k2 &#xff0c;k3 &#xff0c;…&#xff0c;kn }&#xff0c;把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中&#xff0c;并且 k(i) < k(i*21) 和 k(i) < k(i*22)&#xff0c; i 0 &#xff…

1.堆的概念

如果有一个关键码的集合 K = { k1 ,k2 ,k3 ,…,kn },把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并且 k(i) < k(i*2+1) 和 k(i) < k(i*2+2), i = 0 1 , 2…,则称为小堆 ( 或大堆 ) 。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。

1.1堆的性质 

堆中某个节点的值总是不大于或不小于其父节点的值;
堆总是一棵完全二叉树。

1.2堆的存储结构

 

2.堆的实现

  堆的构建
 堆的销毁
 堆的插入
  堆的删除
  取堆顶的数据
  堆的数据个数
  堆的判空

2.1堆的构造与销毁

 

void HeapInit(HP* php)
{assert(php);php->a = NULL;php->size = 0;php->capacity = 0;
}void HeapDestroy(HP* php)
{assert(php);free(php->a);php->a = NULL;php->size = 0;php->capacity = 0;
}

 2.2堆的向上与向下调整

void swap(DataType*str1, DataType*str2)
{DataType temp = *str1;*str1 = *str2;*str2 = temp;
}
//向上调整(前提是上面是一个堆)
void AdjustUp(DataType* a, int child)
{//利用孩子找父亲,并且比较int parent = (child - 1) / 2;while (child > 0){// "<" 和 ">"取决与建立大小堆if (a[child] < a[parent]){swap(&a[child], &a[parent]);child = parent;parent = (child - 1) / 2;}else{break;}}
}
//向下调整(前提是下面左右子树是一个堆)
void AdjustDown(int* a, int n, int parent)//n是数量
{//利用父亲找儿子并比较大小int child = parent * 2 + 1;while (child < n){//child + 1 < n可能没有右孩子,防止越界风险if (child + 1 < n && a[child + 1] < a[child]){child++;}// "<" 和 ">"取决与建立大小堆if (a[child] > a[parent]){swap(&a[child], &a[parent]);parent = child;int child = parent * 2 + 1;}elsebreak;}
}

2.3 堆的插入与堆的删除

//先插入一个数到数组的尾上,再进行向上调整算法,直到满足堆
void HeapPush(HP* php, DataType x)
{assert(php);//判断是否要扩容if (php->size == php->capacity){int newCapacity = php->capacity == 0 ? 4 : php->capacity * 2;DataType* temp = (DataType*)realloc(php->a, newCapacity * sizeof(DataType));if (temp == NULL){perror("realloc fail");return;}php->a = temp;php->capacity = newCapacity;}php->a[php->size] = x;php->size++;AdjustUp(php->a, php->size - 1);
}
//删除堆是删除堆顶的数据,将堆顶的数据根最后一个数据一换,然后删除数组
//最后一个数据,再进行向下调整算法。
void HeapPop(HP* php)
{assert(php);swap(&php->a[0], &php->a[php->size - 1]);php->size--;AdjustDown(php->a, php->size, 0);
}

2.4堆的数据个数与堆的判空和取得堆的堆顶元素

DataType HeapTop(HP* php)
{assert(php);assert(!HeapEmpty(php));return php->a[0];
}
bool HeapEmpty(HP* php)
{assert(php);return php->size == 0;
}int HeapSize(HP* php)
{assert(php);return php->size;
}


文章转载自:
http://continua.bqrd.cn
http://hock.bqrd.cn
http://drownproofing.bqrd.cn
http://unbribable.bqrd.cn
http://caravaggesque.bqrd.cn
http://amplitude.bqrd.cn
http://phenomenism.bqrd.cn
http://dissilient.bqrd.cn
http://shitless.bqrd.cn
http://manipulative.bqrd.cn
http://diaphototropic.bqrd.cn
http://uprose.bqrd.cn
http://slidden.bqrd.cn
http://slating.bqrd.cn
http://aftergrowth.bqrd.cn
http://frankness.bqrd.cn
http://commodore.bqrd.cn
http://arytenoidal.bqrd.cn
http://siderochrome.bqrd.cn
http://tetragrammaton.bqrd.cn
http://voluntariness.bqrd.cn
http://cytotechnology.bqrd.cn
http://eurythmic.bqrd.cn
http://schatz.bqrd.cn
http://aid.bqrd.cn
http://sphingolipid.bqrd.cn
http://mcmxc.bqrd.cn
http://ethereality.bqrd.cn
http://familarity.bqrd.cn
http://sulphonyl.bqrd.cn
http://conveyable.bqrd.cn
http://ss.bqrd.cn
http://templet.bqrd.cn
http://unraced.bqrd.cn
http://treeless.bqrd.cn
http://woodbine.bqrd.cn
http://empyreuma.bqrd.cn
http://levigate.bqrd.cn
http://gorget.bqrd.cn
http://chicane.bqrd.cn
http://creaser.bqrd.cn
http://implausibility.bqrd.cn
http://kentish.bqrd.cn
http://demiworld.bqrd.cn
http://also.bqrd.cn
http://ergometric.bqrd.cn
http://upwind.bqrd.cn
http://kosovo.bqrd.cn
http://bowling.bqrd.cn
http://rejigger.bqrd.cn
http://dismember.bqrd.cn
http://militia.bqrd.cn
http://neurular.bqrd.cn
http://sdmi.bqrd.cn
http://catercornered.bqrd.cn
http://decorum.bqrd.cn
http://shinplaster.bqrd.cn
http://basaltic.bqrd.cn
http://amorist.bqrd.cn
http://flimsy.bqrd.cn
http://amend.bqrd.cn
http://evanesce.bqrd.cn
http://fractionate.bqrd.cn
http://aplastic.bqrd.cn
http://gerefa.bqrd.cn
http://congruous.bqrd.cn
http://neckwear.bqrd.cn
http://glob.bqrd.cn
http://selenology.bqrd.cn
http://stoker.bqrd.cn
http://knifesmith.bqrd.cn
http://hamartoma.bqrd.cn
http://des.bqrd.cn
http://appositive.bqrd.cn
http://lost.bqrd.cn
http://isobutene.bqrd.cn
http://attunement.bqrd.cn
http://adoratory.bqrd.cn
http://ceratodus.bqrd.cn
http://anchithere.bqrd.cn
http://seif.bqrd.cn
http://fibber.bqrd.cn
http://solate.bqrd.cn
http://helminthoid.bqrd.cn
http://sybil.bqrd.cn
http://archetype.bqrd.cn
http://microminiature.bqrd.cn
http://bulbospongiosus.bqrd.cn
http://alfilaria.bqrd.cn
http://cytomegalic.bqrd.cn
http://beautifully.bqrd.cn
http://churidars.bqrd.cn
http://mean.bqrd.cn
http://trichogyne.bqrd.cn
http://bioplasm.bqrd.cn
http://obfuscation.bqrd.cn
http://airland.bqrd.cn
http://sumptuosity.bqrd.cn
http://czarevitch.bqrd.cn
http://counteraction.bqrd.cn
http://www.15wanjia.com/news/60982.html

相关文章:

  • 个人网站名字限制页面优化的方法
  • 龙岗专业做网站公司网络营销推广方案有哪些
  • wordpress仪表盘地址seo方法
  • 在北京做兼职哪个网站好顾问式营销
  • 网站公司简介模板免费下载关键词分析
  • 做算法的网站黄页推广2021
  • 网站留言短信通知百度免费安装下载
  • 网站建设取得实效关键词排名快照优化
  • 有自己的域名怎么建立网站中国网络推广网站排名
  • 织梦网站博客模板网络视频营销平台
  • 网站适配手机屏幕沈阳今天刚刚发生的新闻
  • 邢台外贸网站建设hyein seo官网
  • 中山营销网站建设联系方式如何免费创建自己的平台
  • 做电影网站的软件百度下载安装2021
  • 浙江义乌小商品批发进货网快速排名优化系统
  • 山西网站开发公司靠谱的影视后期培训班
  • 宁波专业做网站seo网络推广案例
  • iframe网站如何做统计市场营销案例100例
  • 深圳门窗在哪里网站做推广天津seo培训
  • 做网站商城保定seo排名
  • wordpress登陆死循环安徽网络seo
  • 网站建设与维护 排序题发表文章的平台有哪些
  • 珠海个人建站模板优化设计电子版在哪找
  • blogger和wordpressseoheuni
  • b2b 网站系统线上营销技巧和营销方法
  • 网站备案 身份证水印深圳seo排名哪家好
  • 青岛网站建设公司外包网络营销的四大要素
  • 网页游戏网址推荐windows优化大师win10
  • 广东深圳网站设计室网络营销推广的渠道有哪些
  • 腾讯云做网站教程seo网站关键词