我想知道如何确定以伪代码编写的算法的运行时间,以便我可以熟悉运行时间。举例来说,你如何知道一个算法的运行时间,它将比较两个数组以确定它们是否不相同?确定算法的运行时间以比较两个阵列
数组1 = [1,5,3,2,10,12]数组2 = [3,2,1,5,10,12] 因此,这两个数组并不相同,因为它们排序不同。
我的伪代码是:
1)
2)设置的第二指针设置当前指针到第一数目在第一阵列第一数目在第二阵列
3),而(当前指针=““)比较!与
移动当前指针到下一个号码在其它阵列
4相同的位置元件)如果(当前指针==第二指针) 第二指针移动到下一个数
5)否则(输出数组是不一样) end loop
所以我假设第一次我的代码是正确的。我知道第4步只执行一次,因为它只需要1次匹配来显示数组就不一样了。所以第4步只需要一定的时间(1)。我知道第1步和第2步也只执行一次。
到目为为我知道运行时间是3 +? (?是循环本身的运行时间)
现在我迷失了循环部分。循环是否运行n次(n是数组中的数字?),因为最坏的情况可能是每一个数字都匹配?我是否以正确的方式考虑运行时间?
如果有人可以帮忙,我会感激。
谢谢!
我编辑的问题 - 你有2分2秒,但即时通讯太累/改变推测其他的东西了 - 确保这仍然是正确的 – hvgotcodes 2011-02-06 06:03:32