搜索第k元

#include<stdio.h>
#pragma warning (disabled:4996)
int Search(int A[],int n,int k)
{int i;if(k>=n)return -1;else{i=Partition(A,n);//indirect recursionif(i==k)return i;else if(i>k)return Search(A,i,k);elsereturn Search(A+i+1,n-i-1,k-i-1);}
}
int Partition(int A[],int n)
{//长短比例小于1:3的Partition,return the position of the pivotint low,high,x,p,i,v;if(n<25){//当n<25时,作为递归起点,直接获得中间元素作为主元BubbleSort(A,n);return n/2;}else{for(i=0;i<n/5;i++){//每5个元素作为一组BubbleSort(A+i*5,5);//采用BubbleSortv=A[i*5+2];A[i+5+2]=A[i];A[i]=v;}x=Search(A,n/5,n/10);//indirect recursionp=A[x];A[x]=A[0];x=0;low=0;//low pointerhigh=n-1;//high pointerwhile(low<high){//指针从两头相对扫描,直到相遇while(low<high&&A[high]>p)//从后向前寻找比主元p小的元素high--;if(low<high){//A[high]<=pA[x]=A[high];x=high;}while(low<high&&A[low]<=p)//从前向后寻找比主元pivot大的元素low++;if(low<high){//A[low]>pA[x]=A[low];x=low;}}A[x]=p;return x;}
}
int BubbleSort(int A[],int n)
{int i,j,x;for(int i=0;i++;i<n-1)for(int j=0;j++;j<n-i-1)if(A[j]<A[j+1]){x=A[j];A[j]=A[j+1];A[j+1]=x;}return 1;
}

算法设计与分析 搜索第k元相关推荐

  1. 算法设计与分析——算法思想总结

    算法设计与分析 1.分治法 分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相同.递归的解这些子问题,然后将各子问题的解合并得到原问题的解. 分治法所能解 ...

  2. 【算法设计与分析】经典常考三十三道例题AC代码

    ❥小虾目前大三,我校在大一下开设<数据结构>这门课,大二上开了<算法设计与分析>这门课,很庆幸这两门课的上机考试总成绩一门100,一门99,最后总分也都90+.下文会给出机试的 ...

  3. 循环赛日程表非递归Java_王晓东《算法设计与分析》课件.ppt

    <王晓东<算法设计与分析>课件.ppt>由会员分享,可在线阅读,更多相关<王晓东<算法设计与分析>课件.ppt(356页珍藏版)>请在人人文库网上搜索. ...

  4. 国科大刘玉贵老师计算机算法设计与分析2021年期末考试题回顾

    总体感受 国科大研究生的计算机算法设计与分析课程有三位老师教授,分别是卜东波老师.陈玉福老师 和刘玉贵老师,这三位老师上课各有特色和风格.我选择的是刘玉贵老师的课程. 这门课程的内容挺充足的,但是有个 ...

  5. 计算机算法设计与分析(第4版) 王晓东 著 2012.2 笔记(这本书还不错,偏实用、有难度)

    计算机算法设计与分析(第4版) 目录 1 算法概述 2 递归与分治策略 3 动态规划 4 贪心算法 5 回溯法 6 分支限界法 7 随机化算法 8 线性规划与网络流 算法概述 复杂性分析 NP-完全性 ...

  6. 算法设计与分析(第4版)

    算法设计与分析(第4版) 算法引论 算法与程序 算法:解决问题的方法或过程 输入 输出 确定性 有限性 程序:算法用某种程序设计语言的具体实现 表达算法的抽象机制 高级程序设计语言 抽象数据类型 描述 ...

  7. 算法设计与分析之回溯法

    文章目录 前言 一.回溯法概述 二.回溯法的基本思想 三.回溯法的设计步骤 四.回溯法效率分析 五.回溯法示例 总结 前言 大家好,越努力,越幸运,我是程序猿小猿.本篇文章小猿将跟您分享算法设计与分析 ...

  8. 哈工大2020秋算法设计与分析大作业(一)

    哈工大2020秋算法设计与分析大作业(一) 前言 正文 1 论文题目 标题 作者 刊物 2 论文阅读报告 2.1 摘要 2.2 问题定义 2.3 算法或证明过程 2.4 实验结论 哈工大2020秋算法 ...

  9. 算法设计与分析(电子科技大学)(上)算法基础和贪心算法

    算法分析与设计 引论 (1)理解算法和程序的差别 (2)理解判断问题和优化问题这两类计算问题 1.理解指数增长的规模 2.理解渐进表达式 掌握渐进符号Ο.Θ.Ω的含义,能判断一个函数属于哪个渐近增长阶 ...

最新文章

  1. golang byte转string_golang系列——实战http服务器
  2. ML之UliR:利用非线性回归,梯度下降法(迭代十万次)求出学习参数θ,进而求得Cost函数最优值
  3. Nokia手机短信发件人显示乱码问题解决
  4. jquery 筛选元素 (3)
  5. 日常开发中的几个常用跨域处理方式
  6. Linux操作系统中修改hostname
  7. [翻译] 用 CSS 背景混合模式制作高级效果
  8. springboot修改默认端口号,启动端口号
  9. nova红a6se升级鸿蒙,华为nova 8 SE配置揭晓:麒麟芯片到底是没了
  10. 线性代数知识点总结之行列式
  11. 说说用笔记本电脑的惨痛经历
  12. 九歌创作诗词计算机系统,人工智能辅助古诗词学习:以清华大学“九歌”诗词写作系统为例...
  13. android局域网 nas,华为手机通过群晖NAS备份时提示“本机和您的NAS设备需处于同一局域网”的解决方法...
  14. jmeter 接口测试 签名_JMeter处理接口签名(sign)
  15. 基于Vue框架开发的页面加载二维地图以及交互
  16. 量子计算机关键技术有哪些,实现量子通信的关键技术有哪些?
  17. google有自定义文章流畅度的伪原创工具吗
  18. java 高并发商城库存订单处理,下单减库存,如何解决高并发减库存问题
  19. [渝粤教育] 西安邮电大学 成本会计学 参考 资料
  20. 单位跳跃函数,斜坡函数

热门文章

  1. 格式工厂mac_干货|格式搞得定,论文不用愁
  2. 奥鹏数据库应用系统设计下列关于php_南开19秋学期(1709、1803、1809、1903、1909)《数据库应用系统设计》在线作业【标准答案】668...
  3. android开发多线程编程,Android多线程编程
  4. android intent 源码,Android 基础之 IntentService 源码
  5. SQL游标(cursor)详细说明及内部循环使用示例
  6. js中 replace(/\//g, '') 什么作用. 正则表达式
  7. mysql double 20_MySQL教程20-小数类型
  8. linux添加py自启动脚本_PyInstaller详解:将.py文件打包成exe文件
  9. 聚类分析在用户行为中的实例_聚类分析在用户分类中的应用
  10. 计算机系未来的理想工作,电智学院2019级计算机专业开展专业指导与职业规划报告会...