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

怎么做网站卖产品seo公司厦门

怎么做网站卖产品,seo公司厦门,南京网站建设电话,网站logo在哪里修改前言 TopK问题:从n个数中,找出最大(或最小)的前k个数。 在我们生活中,经常会遇到TopK问题 比如外卖的必吃榜;成单的前K名;各种数据的最值筛选 问题分析 显然想开出40G的空间是不现实的&#…

前言

TopK问题:从n个数中,找出最大(或最小)的前k个数。

在我们生活中,经常会遇到TopK问题

比如外卖的必吃榜;成单的前K名;各种数据的最值筛选

问题分析

显然想开出40G的空间是不现实的,那应该怎么办呢?

答案是:建小堆

代码实现

#include<stdio.h>
#include<stdlib.h>
#include<time.h>// 造数据
void CreateNDate()
{// 造数据int n = 10000;srand(time(0));const char* file = "data.txt";FILE* fin = fopen(file, "w");if (fin == NULL){perror("fopen error");return;}for (int i = 0; i < n; ++i){int x = (rand() + i) % 1000000;fprintf(fin, "%d\n", x);}fclose(fin);
}
void Swap(int* px, int* py)
{int tmp = *px;*px = *py;*py = tmp;
}
//向下调整算法
void AdjustDown(int* a, int n, int parent)
{int child = parent * 2 + 1;while (child < n){if (child + 1 < n && a[child + 1] < a[child]){child++;}if (a[child] < a[parent]){Swap(&a[child], &a[parent]);parent = child;child = parent * 2 + 1;}else{break;}}
}
void PrintTopK(int k)
{FILE* fout = fopen("data.txt", "r");if (fout == NULL){perror("fopen mail");return;}int* minheap = (int*)malloc(sizeof(int) * k);if (minheap == NULL){perror("minheap mail");return;}for (int i = 0; i < k; i++){fscanf_s(fout, "%d", &minheap[i]);}//建小堆for (int i = (k - 1 - 1) / 2; i >= 0; i--){AdjustDown(minheap, k, i);}int x = 0;int val = 0;while (val = fscanf_s(fout, "%d", &x) != EOF){if (x > minheap[0]){minheap[0] = x;AdjustDown(minheap, k, 0);}}for (int i = 0; i < k; i++){printf("%d ", minheap[i]);}fclose(fout);
}
int main()
{//CreateNDate();printf("请输入k:>");int k = 0;scanf_s("%d", &k);PrintTopK(k);return 0;
}

运行结果:

结果验证

那我们怎么确定输出在屏幕上的数据就是最大的数据呢?

我们可以在已经创建的数据上面修改,如图后面111的是在原有数据上手动添加的

重新运行,结果与预期一致

http://www.ds6.com.cn/news/77056.html

相关文章:

  • 做网站框架图哪个在线网站好用百度搜索引擎优化的推广计划
  • 建行官网登录入口seo搜索引擎优化业务
  • 长春电商网站建设公司排名商业软文
  • html5 做网站bing搜索 国内版
  • 北京厦门网站优化seo公司怎么样
  • 生小孩去什么网站做登记百度页面
  • 网站速度优化 js加载网站营销
  • 设计公司起名及寓意独立站seo是什么
  • 编辑网站在线注册系统微信指数是搜索量吗
  • 现在 做网站 最流行seo网站快排
  • 一个服务器上建立多个网站吗软文网站模板
  • 做会计应关注什么网站百度推广app下载
  • 网站建设企业宣传口号最新国内新闻10条
  • 长沙市疫情高风险区地图李飞seo
  • 网站建设整个过程适合小学生摘抄的新闻2022年
  • 视频网站怎么做统计表每日新闻播报
  • 南京网站设计公司哪家好群推广
  • 胶南网站建设公司互联网营销策划是做什么的
  • 织梦仿asp网站销售清单软件永久免费版
  • 做电商网站需要注册什么公司名称最近发生的新闻大事
  • 不花钱做推广的网站网站点击量统计
  • wap手机网站 作用东莞做网站哪个公司好
  • 网站框架包括哪些seo课程培训入门
  • 做网站语言泰州seo网站推广
  • 网站维护提示怎么做排名点击工具
  • 自己个人网站后台怎么做百度下载app下载安装
  • 做网站费用记入什么会计科目百度百度网址大全
  • 娱乐网站怎么制作每日新闻最新消息
  • 宜昌做网站要什么条件产品推广方式及推广计划
  • 页面设计英文翻译郑州seo技术