社区
Java SE
帖子详情
这两个算法哪个的速度快?
transposon
2008-01-08 09:44:18
已知有实现同一功能的两个算法,其时间复杂度分别为O(2^n)和O(n^10),假设现实计算机可连续运行的时间为100天,又每秒可执行基本操作为10^5次。试问在此条件下,这两个算法可解决问题的规模(即n的范围)各为多少?哪个算法更合适?试说明理由
不能用电脑和计算器,这题该咋做?
...全文
192
3
打赏
收藏
这两个算法哪个的速度快?
已知有实现同一功能的两个算法,其时间复杂度分别为O(2^n)和O(n^10),假设现实计算机可连续运行的时间为100天,又每秒可执行基本操作为10^5次。试问在此条件下,这两个算法可解决问题的规模(即n的范围)各为多少?哪个算法更合适?试说明理由 不能用电脑和计算器,这题该咋做?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Dan1980
2008-01-09
打赏
举报
回复
动笔算一算就出来了:
100天=100*24*60*60秒
又,一秒钟可执行的基本操作为10^5次
则,100天可执行的基本操作为100*24*60*60*(10^5)=864000000000次
分别解方程:
2^x=864000000000 ---- (1)
x^10=864000000000-----(2)
由方程(1)可估计出x在39-40之间,所以算法的最大规模为39
由方程(2)可估计出x在15-16之间,所以算法的最大规模为15
所以在当前条件下,用算法一更好。
但是,算法一的复杂度是指数级的,算法二的复杂度是乘方级(10次方)的,通常指数级的增长速度快于乘方级,虽然2^n一开始增长较慢,但速度更快,所以一旦n增长到某个临界点之上,算法一耗费的时间最终将更多。至于这个临界点是多少,算起来太麻烦了,可能要借助计算机。
老紫竹
2008-01-09
打赏
举报
回复
问题关键在于,
1 2^n 和 n^10 复杂度相同的点在哪里?
2 给定的时间内,是不是到了那个复杂度了。
DirectRay
2008-01-08
打赏
举报
回复
肯定是后面一个好啊。你随着n的取值的增长,一旦超过10,那么空间复杂度就上去了啊。
完整视频-coursera公开课 普林斯顿
算法
ⅠⅡ部分
本资源为BT文件,下载
速度快
,如果P2P工具支持下载字幕可以进行下载 Coursera上的公开课,普林斯顿大学教授Robert Sedgewick主讲《Algorithms》
算法
Java实现 课程网站http://algs4.cs.princeton.edu/home/ 视频...
最快速度求
两个
数组之交集
算法
该题目来自58同城的二面,用最快速度求
两个
数组之交集
算法
。 比如A={6,2,4,1},B={2,9,4,3},那么A&B={2,4}。
算法
一:在大多数情况,也就是一般的情况下,大家都能想出最暴力的解法,通常也就是...
图解Java数据结构和
算法
2.网上数据结构和
算法
的课程不少,但存在
两个
问题:1)授课方式单一,大多是照着代码念一遍,数据结构和
算法
本身就比较难理解,对基础好的学员来说,还好一点,对基础不好的学生来说,基本上就是听天书了2)说是讲数据...
哈希
算法
为什么存取
速度快
?
哈希
算法
存取之所以快,是因为其直接通过关键字key得到要存取的记录内存存储位置 试想这样的场景,你很想学太极拳,听说学校有个叫张三丰的人打得特别好,于是你到学校学生处找人,学生处的工作人员可能会拿出学生...
算法
-最快速度求
两个
数组之交集
算法
1. DSU(并查集) 条件:需要查询小范围的数据集合,不包含特殊数字。同时数字>=1。 思路:使用数组hash。index代表集合中的数。value为代表集合。 class DSU { int[] parent; //可初始化大小 ... ++i)
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章