2013-02-23 160 views
0

尊敬的专家和爱好者,最大搜索算法

我想解决以下问题: 我有个自然数组成的数组。我想找到他们的最大值。

但我必须表明我的结构程序的解决方案,这样的 http://www.testech-elect.com/pls/images/casetool2.jpg

和我有midifieing求和算法来做到这一点,这意味着我必须midifie的http://cfhay.inf.elte.hu/~hurrycane/programozas/programming_theorems.pdf

的结构程序和后置条件

必须保留主横线,但您可以修改其他所有内容。你能告诉我没有递归的修改后置条件吗?这就够了。如果我得到它,我可以制作结构图。先谢谢你。

+0

我是弄清楚你所要求的和练习3中的算法之间的唯一区别是使用数组,而不是函数* f *。它是否正确? – afsantos 2013-02-23 14:01:55

回答

1

考虑为您的算法C++代码:

max = a[0]; ind = 0; 
for (int i = 1; i < n; i++) 
{ 
    if (a[i] > max) 
    { 
     max = a[i]; 
     ind = i; 
    } 
} 

对于上述算法,我们将有:

  1. STATESPACE =(一个:N *,ñ: N,ind:N,max:N)
  2. 前置条件 =(一个 = 一个”/\ Ñ = 长度(a)
  3. 后置条件 =(前置条件/\(最大IND)= MAX(I = 0,n)的A [1]