我了解对算法进行不同复杂性分析案例的机制,但已经给出了一些场景,并被问到我将针对每种案例使用哪种类型的分析。
分析的类型是“最坏情况”、“平均情况”、“摊销”。
当然,为了确保算法尽可能高效,我们总是会选择使用“最坏情况”吗?
我意识到这是主观的,但使用每种分析方法肯定都有优点吗?
这是我在最近的一次工作面试中遇到的 4 个场景,除了关于飞行员的场景之外,我无法决定其中的任何一个。
一家公司发明了一种新的网络搜索引擎,并希望分析它返回一组常见搜索查询结果的速度有多快。
一名飞行员驾驶飞机,他在控制杆上的输入通过软件计算转换为机翼表面涂层。飞机的稳定性取决于快速反应;我们要分析飞机是否安全。
如果以前未排序,则在第一次进行查询时对数据库进行排序。我们想分析使用这个数据库系统执行多个连续查询需要多长时间。
托管天气预报算法的云计算公司,需要保证在 4 小时内根据压力和其他观测数据计算下一次全国每日预报。