当前位置: 首页 > 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.yutouwan.com/news/465945/

相关文章:

  • 建一个网站多少钱WordPress工作发布
  • 网站群建设管理办法平顶山做网站推广
  • 网站推广多少钱专业网站建设软件开发
  • 鸭梨网站建设企业网站建设进什么科目核算
  • 安徽网新科技怎么建设网站校园电商平台网站建设
  • 国内餐饮类网站欣赏水果行业为什么做网站
  • 朝阳区网站建设公司动画设计用什么软件
  • 建设网站所有步骤班级网站设计模板
  • 阿里云服务器添加网站宝安中心医院怎么样
  • 给网站网站做推广犯法网站建设包涵哪些领域
  • 惠州建站平台影楼后期修图培训学校
  • 国外社交网站做的比较好的是八上电脑课做网站需要什么软件
  • 拐角型网站石龙镇网站建设公司
  • 邯郸网站推广移动端网站怎么制作
  • 网站开发校园经历范文wordpress 静态化插件
  • 建了一个网站 如何找到放图片的文件夹wordpress获取照片信息
  • 国办网站建设规范制作企业宣传片的厂家
  • 网站建设 团队介绍wordpress木子
  • 济南机关建设网站wordpress 无法打开
  • 做网站 想做成宽屏的手机网站活动策划方案
  • 做网站制作一般多少钱网站建设放哪个科目好
  • 影响网站权重的因素有哪些开发软件学什么专业
  • 深圳做网站公司有哪些公司苏州十大广告公司
  • 不用代码可以做网站设计吗品牌设计公司是做什么的
  • 沈阳做网站的地方做网站需要了解的知识
  • 网站群建设方案.docwordpress 搭建博客
  • 网站推广报价页面设计原则
  • 网上做调查问卷赚钱的网站微网站建设及微信推广方案ppt
  • 网站案例展示怎么做网站多域名怎么做
  • 如何做视频网站的广告推广山西省网站域名备案得多长时间