在计算机领域里,算法是一系列程序指令,用于处理特定的运算和逻辑问题。 衡量算法优劣的主要标准是时间复杂度和空间复杂度。
时间复杂度是对一个算法运行时间长短的量度,用大O表示,记作 T(n)=O(f(n))。 常见的时间复杂度按照从低到高的顺序,包括O(1)、O(logn)、O(n)、O(nlogn)、O(n2)等。
空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度,用大O表示,记作S(n)=O(f(n))。 常见的空间复杂度按照从低到高的顺序,包括O(1)、O(n)、O(n2) 等。其中递归算法的空间复杂度和递归深度成正比。
数据结构是数据的组织、管理和存储格式,其使用目的是为了高效地访问和修改数据。 数据结构包含数组、链表这样的线性数据结构,也包含树、图这样的复杂数据结构。