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

游戏网站风控怎么做网站建设手机官网

游戏网站风控怎么做,网站建设手机官网,模板建站服务器,郑州做网站元辰参考博客#xff1a;传送门 在上面的博客中介绍了求序列第K大的几种算法#xff0c;感觉收益良多#xff0c;其中最精巧的还是利用快速排序的思想O(n)查询的算法。仔细学习以后我将其中的几个实现了一下。 解法 1#xff1a; 将乱序数组从大到小进行排序然后取出前K大传送门 在上面的博客中介绍了求序列第K大的几种算法感觉收益良多其中最精巧的还是利用快速排序的思想O(n)查询的算法。仔细学习以后我将其中的几个实现了一下。 解法 1 将乱序数组从大到小进行排序然后取出前K大总的时间复杂度为O(nlogn) 解法 2 利用选择排序或交互排序取出前K大总的时间复杂度为O(nk) 解法 3 借鉴快速排序的思想复杂度近似为O(n) #includecstdio #includealgorithm #includecstdlib using namespace std;int kth_number(int *a,int l,int r,int k) {if(r-l 1) return a[l];int keya[l];int indexl;for(int il1;ir;i){if(a[i]key) continue;else{index;swap(a[i],a[index]);}}swap(a[index],a[l]);if(r-index k) return a[index];if(r-index-1 k) return kth_number(a,index1,r,k);else return kth_number(a,l,index,k-rindex); } 测试程序 #includecstdio #includeKth_number.husing namespace std;int main() {int n,k;const int MAXN1005;int a[MAXN];printf(n); scanf(%d,n);printf(k); scanf(%d,k);if(kn) kn;printf(please input %d number:\n,n);for(int i0;in;i)scanf(%d,a[i]);printf(the %dth number of array is %d\n,k,kth_number(a,0,n,k));return 0; } 运行结果 解法 4 借助堆排序的思想将前K个数字弹出复杂度为建立堆的O(4n)加上k次堆排序O(logn)为O(4nklogn) 实现程序 #includecstdio #includecstdlib #includeclimits #includealgorithm #includesys/types.h #includesys/wait.h #includefcntl.h #includeunistd.husing namespace std;void Adjust(int *a, int n, int i) {int x a[i];for(int k i1; k n; k k1){if(k1 n a[k] a[k1])k;if(a[k] x){a[i] a[k];i k;}else{break;}}a[i] x; }void MakeHeap(int *a, int n) {for(int i n/2;i 0;--i){Adjust(a, n, i);} }void HeapSort(int *a,int n,int k,int *ans) {int mn-k;for(int i n; i m; i--){swap(a[1], a[i]);Adjust(a, i-1, 1);}*ans a[m1]; }int main(int argc, char* argv[]) {int n;const int MAXN 1024;scanf(%d, n);int a[MAXN] {0};for(int i 1; i n; i){scanf(%d, a[i]);}int k;scanf(%d, k);if(k n) k n;MakeHeap(a, n);int ans;HeapSort(a, n, k, ans);printf(ans%d\n, ans);return 0; } 测试结果 解法 5 维护一个大小为k的小顶堆对于数组中的每一个元素判断与堆顶的大小若堆顶较大则不管否则弹出堆顶将当前值插入到堆中。时间复杂度O(4knlogk) 实现程序 #includecstdio #includecstringusing namespace std;void Adjust(int *a,int n,int i) {int xa[i];for(int ki1;kn;k1){if(k1n a[k]a[k1])k;if(a[k]x){a[i]a[k];ik;}else break;}a[i]x; } void MakeHeap(int *a,int n) {for(int in/2;i0;--i){Adjust(a,n,i);} } int KthNumber(int *a,int n,int k) { // int *bnew int[k];int b[1024];for(int i1;ik;i){b[i]a[i];}MakeHeap(b,k);for(int ik1;in;i){if(a[i]b[1]){b[1]a[i];Adjust(b,k,1);}}return b[1]; }int main() {int n,k;printf(n); scanf(%d,n);printf(k); scanf(%d,k); // int* a new int[n];int a[1024]{0};for(int i1;in;i)scanf(%d,a[i]);printf(%d\n,KthNumber(a,n,k)); // delete a;return 0; } 测试结果 解法 6: 利用Hash保存数组中元素出现的次数利用计数排序的思想线性从大到小扫描中得到结果时间复杂度为O(n)
http://www.lebaoying.cn/news/52673.html

相关文章:

  • 网站服务器出问题php网站开发实例教程第九章
  • 六安商城网站建设地址上海网站建设公司服务
  • 成品网站 子目录打不开如何做自己的网站
  • 专门做尾单的网站设计构建网站
  • cpa项目怎么做必须有网站么ps做 网站教程
  • 邮政管理网站建设做网站手机浏览全屏
  • 网站关键词几个合适外贸网站推广计划
  • 做网站为什么赚钱吗香河县最新消息
  • 网站开发端口查询织梦快速建站
  • 微信网站开发教程视频石家庄市栾城区建设局网站
  • 网站搜索引擎优化是什么长沙网站开发智
  • 天津建设网站哪家好深圳网站建设索q.479185700
  • 北京展览馆网站建设开创集团与百度
  • 深圳企业集团网站建设福建省高速公路建设管理网站
  • 湖州吴兴建设局网站网站建设开发客户
  • 做图片的网站洛阳网站改版维护公司
  • 音乐 版权 做视频网站wordpress 树形分类
  • 定制网站开发公司生物医药扬州seo
  • 福田做商城网站建设找哪家公司好手机网站开发需要哪些技术
  • 上海网站商城建设公司吗营销网站制作要素
  • 网站title是什么意思怎么创立网站
  • 学网站建设多久能学会网站建设的方案书
  • 无锡网站建设在哪里成都好的网站设计公司
  • 十大旅游电子商务网站潮汕17网站一起做网店官网
  • 辽宁省住房与城乡建设厅网站云南省建设厅网站 农民工
  • 网站建设优质公司电商平台网站设计公司
  • 古典网站案例辽宁建设工程信息网不良行为公示
  • 东营网站建设价格网站设计 北京店
  • h5开发网站网站可以做软著吗
  • 网站网站做任务佣金违法域名网站建设流程