当前位置:嗨网首页>书籍在线阅读

27-算法解析及优化拓展

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

4.5.6 算法解析及优化拓展

1.算法复杂度分析

(1)时间复杂度:由程序可以得出:语句temp=m[i][k]+m[k][j],它是算法的基本语句,在3层for循环中嵌套,最坏情况下该语句的执行次数为O(n3),print()函数算法的时间主要取决于递归,最坏情况下时间复杂度为O(n)。故该程序的时间复杂度为O(n3)。

(2)空间复杂度:该程序的输入数据的数组为r[][],辅助变量为i、j、r、t、k、m[][]、s[][],空间复杂度取决于辅助空间,该程序的空间复杂度为O(n2)。

2.算法优化拓展

如果只是想得到最优值(最少的租金),则不需要s[][]数组;m[][]数组也可以省略,直接在r[][]数组上更新即可,这样空间复杂度减少为O(1)。