关于算法复杂度

SRXHC138 2010-10-28 09:13:42
今天突然想到,分析算法复杂度时,元运算之间不同的时间差是怎么处理的?比如说赋值,比较,加法。他们的运行时间应当是有差别的,这种差别看似被忽略了,这样的合理性是什么?
...全文
86 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jenlyser 2010-10-29
  • 打赏
  • 举报
回复
数据结构中不是有讲过,类似算法效率公式吗? 找书看看!
绿色夹克衫 2010-10-28
  • 打赏
  • 举报
回复
指令执行值效率之间的差距,都是常数级的,换句话说,运行效率差个3、5倍都可以忽略不计,更别说30%,5%这种差别了。因为当算法复杂度不同时,随着n的增大,效率相差数百倍以至上万倍的情况太多了。
SRXHC138 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 michael122 的回复:]

分析算法复杂度的时候,把这些都忽略了,假定一条指令花费同样多的常数时间
[/Quote]

忽略的合理性是什么啊?这些也是随着问题规模的增加而以最高阶的速度增加的啊,不理解
michael122 2010-10-28
  • 打赏
  • 举报
回复
分析算法复杂度的时候,把这些都忽略了,假定一条指令花费同样多的常数时间
SRXHC138 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jiangwentong 的回复:]

那些只是次要因素,不同赋值的时间差别并不是影响一个算法时间复杂度的主要因素!撇开与计算机软硬件有关的因素,影响算法时间代价的最主要因素是问题规模。

要精确的表示算法的运行时间函数常常是很困难的,即使能给出,也是一个相当复杂的函数,函数的求解本身也是相当复杂的,为了客观的反映一个算法的执行时间,可以用算法中基本语句的执行次数来度量算法的工作量!

基本执行语句队算法运行时间的贡献最大,是……
[/Quote]

基本语句之间的差别呢?再说基本语句不就是元运算构成的吗?
buigege 2010-10-28
  • 打赏
  • 举报
回复
那些只是次要因素,不同赋值的时间差别并不是影响一个算法时间复杂度的主要因素!撇开与计算机软硬件有关的因素,影响算法时间代价的最主要因素是问题规模。

要精确的表示算法的运行时间函数常常是很困难的,即使能给出,也是一个相当复杂的函数,函数的求解本身也是相当复杂的,为了客观的反映一个算法的执行时间,可以用算法中基本语句的执行次数来度量算法的工作量!

基本执行语句队算法运行时间的贡献最大,是算法中最重要的操作!

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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