牛客网 选择题 复杂度 --- 手记1

1、已知-算术表达式的中缀表达式为a-(b+c/d)e,其后缀形式为() abcd/+e-

这里我给出一个中缀表达式:a+bc-(d+e)
第一步:按照运算符的优先级对所有的运算单位加括号:式子变成了:((a+(b
c))-(d+e))
第二步:转换前缀与后缀表达式
前缀:把运算符号移动到对应的括号前面
则变成了:-( +(a (bc)) +(de))
把括号去掉:-+a
bc+de 前缀式子出现
后缀:把运算符号移动到对应的括号后面
则变成了:((a(bc)* )+ (de)+ )-
把括号去掉:abc*+de± 后缀式子出现
2、 在内部排序时,若选择了归并排序而没有选择插入排序,则可能的理由是 。 仅Ⅲ
Ⅰ.归并排序的程序代码更短
Ⅱ.归并排序的占用空间更少
Ⅲ.归并排序的运行效率更高
原因:归并排序代码比选择插入排序更复杂,前者空间复杂度是O(n),后者是O(1)。但是前者时间复杂度是O(nlogn),后者是O(n2)。
3、

猜你喜欢

转载自blog.csdn.net/csdnlijingran/article/details/83628430