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

申请个人网站有什么用微信做淘宝优惠券但网站是怎么建设但

申请个人网站有什么用,微信做淘宝优惠券但网站是怎么建设但,焦作市建设工程网站,珠海模板网站建设公司目录 一 二叉树的顺序结构 二 堆的概念及结构 三 堆的实现 1 包含所有接口 (Heap.h) 2 初始化,销毁和交换#xff08;Heap.c) 3 向上调整#xff08;Heap.c) 4 插入#xff08;Heap.c) ​5 向下调整#xff08;Heap.c) 6 删除#xff08;Heap.c) ​7 打印#…目录 一 二叉树的顺序结构 二 堆的概念及结构 三 堆的实现 1 包含所有接口 (Heap.h) 2 初始化,销毁和交换Heap.c) 3 向上调整Heap.c) 4 插入Heap.c) ​5 向下调整Heap.c) 6 删除Heap.c) ​7 打印Heap.c) 8 返回堆顶Heap.c) 9 判断是否为空Heap.c) 10 测试Test.c) 一 二叉树的顺序结构 顺序结构存储就是使用数组来存储一般使用数组只适合表示完全二叉树因为不是完全二叉树会有空 间的浪费。而现实中使用中只有堆才会使用数组来存储关于堆我们后面的章节会专门讲解。二叉树顺 序存储在物理上是一个数组在逻辑上是一颗二叉树。 二 堆的概念及结构 如果有一个关键码的集合K { … }把它的所有元素按完全二叉树的顺序存储方式存储 在一个一维数组中并满足 且 ( 且 ) i 01 2…则称为小堆(或大堆)。将根节点最大的堆叫做最大堆或大根堆根节点最小的堆叫做最小堆或小根堆。 堆的性质 堆中某个节点的值总是不大于或不小于其父节点的值 堆总是一棵完全二叉树。 三 堆的实现 1 包含所有接口 (Heap.h) #pragma once #includestdbool.h #includeassert.h #includestdlib.h #includestdio.htypedef int HPDataType; typedef struct Heap {HPDataType* a;int size;int capacity; }HP;//向上调整 void AdjustUp(HPDataType* a, int child);//向下调整 void AdjustDown(HPDataType* a, int n, int parent);//交换 void Swap(HPDataType* p1, HPDataType* p2); //打印 void HeapPrint(HP* php); //初始化 void HeapInit(HP* php); //销毁 void HeapDestroy(HP* php); //插入 void HeapPush(HP* php, HPDataType x); //删除 void HeapPop(HP* php); //返回堆顶 HPDataType HeapTop(HP* php); //是否为空 bool HeapEmpty(HP* php); 2 初始化,销毁和交换Heap.c) #includeHeap.hvoid HeapInit(HP* php) {assert(php);php-a NULL;php-size php-capacity 0; }//销毁 void HeapDestroy(HP* php) {assert(php);free(php-a);php-a NULL;php-size php-capacity 0; }//交换 void Swap(HPDataType* p1, HPDataType* p2) {int tmp *p1;*p1 *p2;*p2 tmp; } 3 向上调整Heap.c) 时间复杂度 O(logN) //向上调整 void AdjustUp(HPDataType* a, int child) {int parent (child - 1) / 2;while (child 0){if (a[child] a[parent])//如果建大堆 就改成 a[child] a[parent]{Swap(a[child], a[parent]);child parent;parent (child - 1) / 2;}else{break;}} }4 插入Heap.c) //插入 void HeapPush(HP* php, HPDataType x) {assert(php);if (php-size php-capacity){int newcapacity (php-capacity 0 ? 4 : php-capacity * 2);HPDataType* tmp (HPDataType*)realloc(php-a, sizeof(HPDataType) * newcapacity);if (tmp NULL){perror(realloc fail);exit(-1);}php-a tmp;php-capacity newcapacity;}php-a[php-size] x;php-size;AdjustUp(php-a, php-size - 1); } 5 向下调整Heap.c) 时间复杂度 O(logN) //向下调整 void AdjustDown(HPDataType* a, int n, int parent) {int child parent * 2 1;while (child n){//找小的那个孩子if (child1 n a[child1] a[child])//child1n 防止数据越界 如果想改成大堆 改成{child;}if (a[child] a[parent])//如果想大堆 改成{Swap(a[child], a[parent]);parent child;child parent * 2 1;}else{break;}} }6 删除Heap.c) //删除 void HeapPop(HP* php) {assert(php);assert(php-size 0);Swap(php-a[0], php-a[php-size - 1]);php-size--;AdjustDown(php-a, php-size, 0); } 7 打印Heap.c) //打印 void HeapPrint(HP* php) {assert(php);for (size_t i 0; i php-size; i){printf(%d , php-a[i]);}printf(\n); } 8 返回堆顶Heap.c) //返回堆顶 HPDataType HeapTop(HP* php) {assert(php);assert(php-size 0);return php-a[0]; } 9 判断是否为空Heap.c) bool HeapEmpty(HP* php) {assert(php);return php-size 0; }//堆为空返回1 true //堆不为空 返回0 false 10 测试Test.c) 小堆情况升序 #includeHeap.hint main() {int a[] { 2,3,5,7,4,6,8,65,100,70,32,50,60 };HP hp;HeapInit(hp);for (int i 0; i sizeof(a) / sizeof(int); i){HeapPush(hp, a[i]);}HeapPrint(hp);while (!HeapEmpty(hp)){printf(%d , HeapTop(hp));HeapPop(hp);}HeapDestroy(hp);return 0; }但是这种排序方式有明显的缺陷 1、先有一个堆的数据结构 2、空间复杂度复杂度的消耗 所以我们可以改进一下 用真正的堆排序 堆排序有很多细节 所以放在后面一节讲 本节很基础 与栈的实现有很多相似之处 大家也可以看我之前对栈的讲解 以此加深印象 继续加油!
http://www.yutouwan.com/news/426033/

相关文章:

  • 手机网站 设置济南全包圆装修400电话
  • 建湖县建设局网站食品包装设计特点
  • 绮思网站建设qswoowordpress 结构解析
  • 做爰网站名称网站做短视频业务许可
  • 华为网站建设招聘做纺织外贸哪个贸易网站好
  • 北京网站建设报价明细软件设计说明书
  • 网站建设需要提供的资料文档地方网站商城怎么做
  • 网络空间安全和信息安全的区别网站做优化好还是做推广好
  • 旅游网站建设调研天堂网
  • 互联网网站建设哪家好网站可以几个服务器
  • 网站怎么自己编辑模块单页网站后台订单系统
  • 青岛专业制作网站的公司吗商河网站建设
  • 免费软件库合集软件资料网站做网站服务器多钱
  • 网站开发需要怎么做恩平网站建设
  • 网站 目录 结构郑州做网站建设的公司
  • 电子商务网站建设的实训报告阳江网络公司
  • 做网站网站的虚拟空间做微网站必须要有公众号吗
  • 网站seo是啥百度app安卓版下载
  • 哪里做网站的比较多国际网站设计
  • 如何在电影网站中做淘客合肥网页设计就业
  • 茶叶网站建设策划方案u001f山西省经济建设投资公司网站
  • 网站制作收费wordpress中搜索页面模板
  • 网站开发常见模块企业网站建设怎么做
  • 金山网站建设推广包头网络推广公司
  • 网站开发技术服务合同现在企业做网站一般用什么框架
  • 用织梦的网站怎么做推广猎头公司联系方式
  • 查询域名网站兰州市解封最新消息
  • 网站建设维护管理办法顺企网怎么样
  • 南宁建设网站上海网站设计培训班
  • 微信官方网站是多少钱wordpress文章分组授权