求大神讲一下时间复杂度

tingfengx 2013-03-27 01:36:59
为什么欧几里得算法的时间复杂度是O(logn)?

1.10 一下程序是用来计算两个非负数之间的最大公约数:


long long gcd(long long x, long long y) {


if( y==0) return 0;


else return gcd (y, x%y);


}我们假设x,y中最大的那个数的长度为n,基本运算时间复杂度为O(1),那么该程序的时间复杂度为:


A.O(1)B.O(logn)C.O(n)D.O(n^2)
...全文
98 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
FancyMouse 2013-03-27
  • 打赏
  • 举报
回复
>为什么欧几里得算法的时间复杂度是O(logn)? 连续做两次以后最大数肯定能至少减半,然后取Fibonacci数列相邻两项能压到最坏复杂度。

33,010

社区成员

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

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