同一个排序算法对一组记录排序,为什么第二遍运行永远比第一遍快?

白帽天使 2019-10-05 01:15:09
下面是代码 #include "stdio.h" #include "time.h" #include "Sort.cpp" #ifndef CLOCK_(CODES,TIMES) #define CLOCK_(CODES,TIMES) {clock_t start,stop;start=clock();{CODES;}stop=clock(); TIMES=((double)(stop-start))/CLOCKS_PER_SEC;} #endif int main(){ int a[]={1,9,5,7,4,2,8,3,5,1,2,2,17,19}; int n=sizeof (a)/sizeof (int); double ggg; CLOCK_(BubbleSort(a,0,n-1),ggg); printf("%f\n",ggg); for (int i=0;i<n;i++)printf("%d\n",a[i]); int b[]={1,9,5,7,4,2,8,3,5,1,2,2,17,19}; CLOCK_(BubbleSort(b,0,n-1),ggg); for (int i=0;i<n;i++)printf("%d\n",a[i]); printf("%f\n",ggg); return 0; } 不管运行多少遍,调用同一个排序方法,第二次调用总比第一次调用排序时间短。这里是冒泡排序,其他排序方法也一样。 这是咋回事啊
...全文
165 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
铖邑 2019-10-07
  • 打赏
  • 举报
回复
可能是处理器有做优化吧
gouyanfen 2019-10-06
  • 打赏
  • 举报
回复
这个要看模拟器的工作原理,你要测试这种,还是不要用模拟器好点
wowpH 2019-10-06
  • 打赏
  • 举报
回复
引用 2 楼 白帽天使 的回复:
[quote=引用 1 楼 wowpH的回复:]第一次要编译吧。。。
不是的。。我这是同一个源文件里调用了两次排序方法。。[/quote]建议数据规模加大点。
白帽天使 2019-10-06
  • 打赏
  • 举报
回复
引用 1 楼 wowpH的回复:
第一次要编译吧。。。
不是的。。我这是同一个源文件里调用了两次排序方法。。
wowpH 2019-10-05
  • 打赏
  • 举报
回复
第一次要编译吧。。。
内容概要:本文围绕“基于有限控制集单矢量模型预测磁链控制的异步电机Matlab仿真研究”展开,系统阐述了在Matlab/Simulink环境中构建异步电机控制系统的全过程,重点聚焦于有限控制集模型预测控制(FCS-MPC)策略在定子磁链与电磁转矩联合控制中的应用。研究采用单电压矢量预测机制替代传统的多矢量组合方式,通过建立精确的电机数学模型和优化的预测代价函数,实现每个控制周期内最优电压矢量的直接选取,在保证控制性能的同时显著降低了算法复杂度与计算负担。文章详细解析了磁链观测、电压矢量枚举、代价函数设计及开关频率优化等关键技术环节,仿真结果表明该方法有效提升了系统的动态响应速度,抑制了电流谐波含量,并增强了对参数摄动的鲁棒性,验证了其在高性能电机驱动领域的可行性与优越性。; 适合人群:具备电机控制、电力电子及自动控制理论基础,熟悉Matlab/Simulink仿真环境,从事电气传动、新能源电驱系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于高校及科研机构开展先进电机控制算法的教学与实验;②为企业在高性能电机驱动系统开发中提供仿真验证平台和技术参考;③推动模型预测控制在工业实际中向高效化、实用化方向发展。; 阅读建议:建议读者结合电机控制基础知识,重点关注预测模型构建、代价函数设计与电压矢量选择机制,动手复现仿真模型以深入理解算法细节,并可进一步拓展至多目标优化、参数敏感性分析等研究方向。
内容概要:本文聚焦XGBoost模型在银行业风控场景中的调优实战,围绕信用风险评估与客户流失预测等核心应用,系统讲解了模型参数优化的三维体系(树结构、学习控制、随机性参数),并提出适用于金融领域的特色调优策略,如代价敏感学习、时间序列分割防信息泄露、SHAP值监控以满足监管合规要求。文中结合完整代码示例,详细展示了数据预处理、模型训练、早停机制、特征重要性分析及模型评估全过程,并对未来发展提出联邦学习融合、实时推理优化与可解释性增强三大趋势。; 适合人群:具备一定机器学习基础,从事银行风控、金融科技或数据分析相关工作的研发人员与算法工程师,尤其适合工作1-3年希望提升模型实战能力的技术人员。; 使用场景及目标:①掌握XGBoost在金融风控中的高效调优方法,提升模型AUC表现与稳定性;②学习如何在保障模型性能的同时满足监管合规与业务可解释性要求;③复现并迁移文中的代码方案至实际信贷审批、欺诈识别等业务场景; 阅读建议:此资源强调理论与实践结合,建议读者在本地环境中运行并调试所提供的代码,重点关注时间序列划分、scale_pos_weight计算逻辑与早停机制的应用细节,同时结合SHAP或LIME工具进一步深化模型可解释性分析。

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧