1.算法(Algorithm)
一个有限的指令集;接受一些输入(有些情况不需要输入);产生输出;一定在有限步骤之后终止;每一条指令必修有充分明确的目标,不能有歧义,在计算机的处理范围之类,描述要抽象,不能依靠任何一种计算机语言和具体的实现手段。
2.什么是好的算法
时间复杂度S(n)和空间复杂度T(n)
3.实例分析
算法一:
int Maxsubseqsum1(int A[],int N)
{
int ThisSum,MaxSum=0;
int i,j,k;
for(i=0;i<N;i++)//i是子列左端的位置
{
for(j=i;j<N;j++)//j是子列右端的位置
{ThisSum=0;//ThisSum是A[i]到A[j]的子列和
for(k=i;k<=j;k++)
ThisSum+=A[k];
if(ThisSum>MaxSum)//如果刚得到的这个字列和最大
MaxSum=ThisSum; //则更新结果
}//j循环结束
} //i循环结束
return MaxSum;
}
算法二:
int Maxsubseqsum1(int A[],int N)
{
int ThisSum,MaxSum=0;
int i,j,k;
for(i=0;i<N;i++)//i是子列左端的位置
{
ThisSum=0;//ThisSum是A[i]到A[j]的子列和
for(j=i;j<N;j++)//j是子列右端的位置
{
ThisSum+=A[j];//对于相同的i;不同的j,只要在j-1的基础上累加1项即可
if(ThisSum>MaxSum)//如果刚得到的这个字列和最大
MaxSum=ThisSum; //则更新结果
}//j循环结束
} //i循环结束
return MaxSum;
}
待更新。