在计算机领域里,算法是一系列的程序指令,用于处理特定的运算和逻辑问题。
衡量算法优劣的主要标准为:时间复杂度、空间复杂度。
数据结构是数据的组织、管理和存储格式,其使用的目的是为了高效的修改和访问数据。
时间复杂度是对一个算法运行时间长短的量度,用大O表示,记作:T(n)=O(f(n))。
常见的时间复杂度按照从低到高的排序,包括:O(1) < O(logn) < O(n) < O(nlogn) < O(n^2^)等。
空间复杂度是指一个算法在运行过程中临时暂用存储空间大小的量度,用大O表示,记作:S(n) = O(f(n))。
常见的空间复杂度按照低到高的顺序排序,包括:O(1) < O(n) < O(n^2^)等。
很多时候,我们不得不在时间复杂度和空间复杂度之间做取舍。有时我们需要牺牲时间来换取空间,有时候我们又需要牺牲空间来换取时间。在绝大多数时候,时间复杂度更为重要一些,存储空间不足可进行扩充,但是程序的执行速度是必须要放在首位。
提示:n^2^表示n的2次方
原文:https://www.cnblogs.com/lixingwu/p/11055862.html