
求数据结构的时间复杂度?(如下面的算法)
SElemTypePrecede(SElemTypet1,SElemTypet2){/*根据教科书表3.1,判断两符号的优先关系*/SElemTypef;switch(t...
SElemType Precede(SElemType t1,SElemType t2)
{ /* 根据教科书表3.1,判断两符号的优先关系 */
SElemType f;
switch(t2)
{
case '+':
case '-':if(t1=='('||t1=='#')
f='<';
else
f='>';
break;
case '*':
case '/':if(t1=='*'||t1=='/'||t1==')')
f='>';
else
f='<';
break;
case '(':{
if(t1==')')
{
printf("Input Error\n");
exit(ERROR);
}
else
f='<';}
break;
case ')':switch(t1)
{
case '(':f='=';
break;
case '#':printf("Input ERROR\n");
exit(ERROR);
default:f='>';
};
break;
case '#':switch(t1)
{
case '#':f='=';
break;
case '(':printf("Input Error\n");
exit(ERROR);
default:f='>';
};
}
return f;
} 展开
{ /* 根据教科书表3.1,判断两符号的优先关系 */
SElemType f;
switch(t2)
{
case '+':
case '-':if(t1=='('||t1=='#')
f='<';
else
f='>';
break;
case '*':
case '/':if(t1=='*'||t1=='/'||t1==')')
f='>';
else
f='<';
break;
case '(':{
if(t1==')')
{
printf("Input Error\n");
exit(ERROR);
}
else
f='<';}
break;
case ')':switch(t1)
{
case '(':f='=';
break;
case '#':printf("Input ERROR\n");
exit(ERROR);
default:f='>';
};
break;
case '#':switch(t1)
{
case '#':f='=';
break;
case '(':printf("Input Error\n");
exit(ERROR);
default:f='>';
};
}
return f;
} 展开
展开全部
所谓算法的时间复杂度,即是算法的时间量度,记做:T(n)=O(f(n))它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称做算法的渐进时间复杂度,简称时间复杂度。
本题中的时间复杂度应该是O(n),判断时间复杂度,就是先找循环语句,然后算出被调用最频繁的语句调用次数,看看是n的多少次方,那么复杂度就是多少。。。
本题中的时间复杂度应该是O(n),判断时间复杂度,就是先找循环语句,然后算出被调用最频繁的语句调用次数,看看是n的多少次方,那么复杂度就是多少。。。

2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询