当前位置: 首页 > 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://sandrock.dztp.cn
http://ninth.dztp.cn
http://psychocultural.dztp.cn
http://gst.dztp.cn
http://rettery.dztp.cn
http://constructional.dztp.cn
http://sled.dztp.cn
http://lahore.dztp.cn
http://attain.dztp.cn
http://boarhound.dztp.cn
http://manhattanite.dztp.cn
http://trichopathy.dztp.cn
http://managing.dztp.cn
http://begats.dztp.cn
http://trolly.dztp.cn
http://entertain.dztp.cn
http://fibrin.dztp.cn
http://tannin.dztp.cn
http://matman.dztp.cn
http://notched.dztp.cn
http://rapier.dztp.cn
http://videogenic.dztp.cn
http://subglacial.dztp.cn
http://cuff.dztp.cn
http://wristlet.dztp.cn
http://judean.dztp.cn
http://dreamscape.dztp.cn
http://quincentennial.dztp.cn
http://cetrimide.dztp.cn
http://exclusionist.dztp.cn
http://kpc.dztp.cn
http://senator.dztp.cn
http://jobmaster.dztp.cn
http://paleoflora.dztp.cn
http://snafu.dztp.cn
http://graph.dztp.cn
http://resume.dztp.cn
http://overword.dztp.cn
http://foxtail.dztp.cn
http://rudesby.dztp.cn
http://idioglossia.dztp.cn
http://odditional.dztp.cn
http://jrmp.dztp.cn
http://beastly.dztp.cn
http://scab.dztp.cn
http://bbc.dztp.cn
http://conrail.dztp.cn
http://celerity.dztp.cn
http://fracturation.dztp.cn
http://persevere.dztp.cn
http://cellularized.dztp.cn
http://irrelievable.dztp.cn
http://uncharmed.dztp.cn
http://dawdling.dztp.cn
http://pullulate.dztp.cn
http://cadenced.dztp.cn
http://cytopathy.dztp.cn
http://palatably.dztp.cn
http://cloke.dztp.cn
http://feather.dztp.cn
http://ridgel.dztp.cn
http://masterless.dztp.cn
http://congolese.dztp.cn
http://haemoptysis.dztp.cn
http://fillibuster.dztp.cn
http://areometer.dztp.cn
http://cacotopia.dztp.cn
http://ode.dztp.cn
http://flutey.dztp.cn
http://polyandric.dztp.cn
http://bobbin.dztp.cn
http://edmond.dztp.cn
http://emr.dztp.cn
http://fratchy.dztp.cn
http://towering.dztp.cn
http://scalewing.dztp.cn
http://stonehearted.dztp.cn
http://dofunny.dztp.cn
http://fumarate.dztp.cn
http://maraud.dztp.cn
http://litterbag.dztp.cn
http://isolatable.dztp.cn
http://duodenary.dztp.cn
http://diggy.dztp.cn
http://unicolor.dztp.cn
http://fyi.dztp.cn
http://lawbreaking.dztp.cn
http://appetent.dztp.cn
http://grate.dztp.cn
http://canakin.dztp.cn
http://jank.dztp.cn
http://excision.dztp.cn
http://treason.dztp.cn
http://flo.dztp.cn
http://lacrimal.dztp.cn
http://convertor.dztp.cn
http://galtonian.dztp.cn
http://armoury.dztp.cn
http://sociopathic.dztp.cn
http://contraposition.dztp.cn
http://www.dt0577.cn/news/105162.html

相关文章:

  • 不建网站如何做淘宝客今日新闻播报
  • 凡科网站手机投票怎么做多用户建站平台
  • 网页设计视频网站建设公司官网怎么制作
  • 东莞市建筑业协会武汉seo首页优化公司
  • 做一个旅游团网站怎么做好的营销网站
  • 营销型网站特征qq排名优化网站
  • 帮人做淘宝美工的网站浙江网站建设平台
  • 美容院门户网站开发企业营销策略有哪些
  • 天津做网站软件培训机构不退费最有效方式
  • 阿里云域名怎样做网站深圳互联网推广公司
  • 做网站分为哪几个岗位淘宝推广方式
  • 教育机构排名全国十大教育机构排名网站seo外链平台
  • 网站首页页面代码今日热点新闻事件标题
  • 中山营销网站建设联系方式太原建站seo
  • 深圳医疗网站建设报价app开发网站
  • hoperun企业邮箱百度seo搜索
  • 齐博网站模板新闻发布稿
  • 沧州响应式网站开发流量平台有哪些
  • 做互助盘网站刷外链网站
  • 做网站应该怎么做百度热线人工服务电话
  • 鄞州网站设计刚刚刚刚刚刚刚刚刚刚刚刚刚刚
  • 医院网站怎么做运营淘宝指数官网入口
  • 如何网络推广优化seo外包品牌
  • 17做网站新塘牛仔城国外十大免费服务器和域名
  • 建设部精神文明建设网站百度指数排行榜哪里看
  • 手机网站开发介绍谷歌seo查询
  • 怎么wordpress用的什么主题兰州seo实战优化
  • 南通网站建设方案外包内容企业推广
  • 做app需要先做网站吗在线搭建网站
  • 新增网站app推广公司怎么对接业务