- 2
- 0
- 约9.78千字
- 约 7页
- 2016-05-11 发布于重庆
- 举报
从一道笔试题谈算法优化
从一道笔试题谈算法优化
引子
每年十一月各大IT公司都不约而同、争后恐后地到各大高校进行全国巡回招聘。与此同时,网上也开始出现大量笔试面试题;网上流传的题目往往都很精巧,既能让考查基础知识,又在平淡中隐含了广阔的天地供优秀学生驰骋。
这两天在网上淘到一道笔试题目(注1),虽然真假未知,但的确是道好题,题目如下:
从10亿个浮点数中找出最大的1万个。
这是一道似易实难的题目,一般同学最容易中的陷阱就是没有重视这个“亿”字。因为有10亿个单精度浮点数元素的数组在32位平台上已经达到3.7GB之巨,在常见计算机平台(如Win32)上声明一个这样的数组将导致堆栈溢出。正确的解决方法是分治法,比如每次处理100万个数,然后再综合起来。不过这不是本文要讨论的主旨,所以本文把上题的10亿改为1亿,把浮点数改为整数,这样可以直接地完成这个问题,有利于清晰地讨论相关算法的优化(注2)。
不假思索拿到这道题,马上就会想到的方法是建立一个数组把1亿个数装起来,然后用for循环遍历这个数组,找出最大的1万个数来。原因很简单,因为如果要找出最大的那个数,就是这样解决的;而找最大的1万个数,只是重复1万遍而已。
template class T
void solution_1( T BigArr[], T ResArr[] )
{
for( int i = 0; i
您可能关注的文档
最近下载
- 江西省南昌市2024-2025学年七年级下学期期中考试语文试卷(含答案).pdf VIP
- 2026年4月浙江省金华市中考一模科学试题.pdf VIP
- 一种特种手套的浸渍装置及其浸渍方法.pdf VIP
- 无菌技术评分标准.pdf VIP
- 2026AI短剧行业发展与受众洞察报告.pdf VIP
- 【某火电机组三段式U形管卧式高压加热器热力计算4300字】.docx VIP
- 毕业论文 基于反卷积神经网络的图像语义分割.docx VIP
- 公用分厂开车方案书.doc VIP
- 2025-2026学年统编版八年级道德与法治下册全册知识点.pdf VIP
- 幼儿园集合与模式活动指导 集教中集合与模式数学活动的设计.pptx
原创力文档

文档评论(0)