大哦计算 [英] Big Oh Computation

查看:87
本文介绍了大哦计算的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Good Day,
给出以下伪代码:

<br />main()<br />{<br />for(int i=0;i<n;i++)><br />{<br />x[i]=func1(func2(x[i]));<br />}<br />}<br /><br />func1(x[])<br />{<br />for(int i=0;i<length(x);i++)><br />//Do something here<br />}<br /><br />func2(x[])<br />{<br />for(int i=0;i<length(x);i++)><br />//Do something here<br />}<br />

如何计算渐近符号?我知道main()中的循环为O(n),func1和func2均为O(n).但是,我该如何结合这三个呢?我什至可以将3结合起来得到O(N ^ 3)吗?还是只有O(3N)?

谢谢! :)

Good Day,

Given a pseudo code below:

<br />main()<br />{<br />for(int i=0;i<n;i++)><br />{<br />x[i]=func1(func2(x[i]));<br />}<br />}<br /><br />func1(x[])<br />{<br />for(int i=0;i<length(x);i++)><br />//Do something here<br />}<br /><br />func2(x[])<br />{<br />for(int i=0;i<length(x);i++)><br />//Do something here<br />}<br />

How can I compute for the Asymptotic notation? I know that the loop in main() is O(n) and both func1 and func2 are O(n). But How can I combine the 3? Can I even combine the 3 to get O(N^3)? or it will be just O(3N)?

Thanks! :)

推荐答案

您对此的分析是什么?

What would be your analysis of this?

<br />main()<br />{<br />	for(int i=0;i<n;i++)><br />	{<br />		for(int j=0;j<n;j++)><br />		{<br />			for(int k=0;k<n;k++)><br />			{<br />				// do the something from func2<br />			}<br />			// do the something from func 1<br />		}<br />	}<br />}<br />



嗯,更好.



Ah, better.


这篇关于大哦计算的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆