购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3.1 算法的基本概念

算法是为了求解问题而给出的有限的指令序列。对同一个问题采用不同的算法,虽然结果一样,但算法所消耗的时间资源和空间资源有很大的区别。那么,应该如何衡量不同算法的优劣呢?一般考虑以下几个指标。

正确性 :能够按照预定功能产生正确的输出。

易读性 :逻辑清楚、结构清晰,算法易于阅读、理解、维护。

鲁棒性 :对于边界条件输入、不频繁出现的输入,算法能够产生正确的输出;对于非法输入,算法能够输出相应提示,不会发生崩溃。

高效率 :时间和空间利用效率高,需要较少的运行时间和存储空间。

这些指标通常是互相冲突的。例如,算法考虑的情况越多,虽然的确会增加鲁棒性,但往往易读性会受到影响。本书将着重讨论算法的时间性能和空间性能,其他方面不在本书讨论范围内。

所谓算法分析,就是确定算法的时间性能和空间性能,即算法的时间复杂度和空间复杂度。前者是算法的运行时间度量,后者则是算法需要的额外存储空间的度量(即除算法本身和输入/输出数据所占用的空间之外的空间)。时间性能和空间性能一般不可兼得,需要选择一个平衡点。 bqyGEpq+atVpQZAzDhii5ddBUG4YT+UjT/bqeyugU00Yfi0/Zum7xBgzwe+9XILJ

点击中间区域
呼出菜单
上一章
目录
下一章
×