首页 文章

使用最坏情况,平均情况或摊销分析的公约?

提问于
浏览
0

我理解为算法执行复杂性分析的不同情况的机制,但是已经给出了几个场景,并且已经被问到我将针对每种情况使用哪种类型的分析 .

分析类型是“最坏情况”,“平均情况”,“摊销” .

当然要确保算法尽可能高效,我们总是选择使用“最坏情况”?

我意识到这是主观的,但使用每种分析方法肯定有优点吗?

这是我在最近的一次面试中给出的4种情景,除了关于飞行员的情况之外,我们无法决定其中的任何情况 .

一家公司发明了一种新的网络搜索引擎,并希望分析一下常见搜索查询返回结果的速度 . 一名飞行员驾驶飞机,他在控制杆上的输入通过软件计算转换为机翼表面 . 飞机的稳定性取决于快速响应;我们想分析飞机是否安全 . 如果先前未排序,则在第一次进行查询时对数据库进行排序 . 我们想要分析使用此数据库系统执行多个连续查询所需的时间 . Cloud 计算公司托管天气预报算法,需要保证在4小时内根据压力和其他观测数据计算下一个全国每日预报 .

2 回答

  • 0

    对于实时系统,您需要最坏情况的复杂性;这涵盖了您的飞机安全和有保障的国家预测 .

    在许多应用程序中,您可能需要摊销和平均案例分析(前提是您知道“平均情况”分布)或甚至是最坏情况下的平滑分析 . 在某些系统中,“最佳”算法的选择取决于您是否谈论“最差”或“平均”,有时它们会并行运行多个算法,无论哪个结束都会更快地中止其他算法和输出 .

  • 1

    对软件操作的要求决定了您需要查看的算法的特征 . 换句话说,没有一般的答案 . 你所谓的“主观”是“它取决于具体情况” .

相关问题