算法和函数2025年3月17日 | 阅读 3 分钟 算法: 算法是解决问题的逐步方法。 算法的特性算法通常具有以下特性
算法分析(复杂度)算法分析是指推导执行算法所需的时间和空间估计的过程。 估计算法所需的时间(例如,步骤数)和空间(例如,变量数)非常重要。 了解算法所需的时间和空间使我们能够比较解决同一问题的算法。 例如,如果一个算法需要 n 步来解决一个问题,而另一个算法需要 n^2 步来解决同一个问题,我们将更喜欢第一个算法。 对执行算法所需的时间和空间进行估算称为算法的时间复杂度和空间复杂度。 执行算法所需的时间是输入的函数。 我们不直接处理输入,而是使用参数来描述输入的大小。 例如,如果输入是包含 n 个元素的集合,则输入的大小为 n。 由于很难确定算法的准确时间复杂度,因此关于算法的时间复杂度有三种值得注意的情况。
渐近记号渐近表示法用于描述算法的执行时间。 这些表示法显示了函数的增长顺序。 在这里,算法所花费的时间是关于数学函数的映射。 有许多渐近表示法,如 0、θ、Ω、w,每个都具有其重要性。 1. 大 O 符号:函数 f (n) =O (g (n)) [读作 "f of n is big-oh of g of n"] 当且仅当存在正常数 c 和 n0 使得 f (n) ⩽ C x g (n) for all n, n ≥ n0 ![]() 示例 1:函数 4n + 3 = O (n) 因为对于所有 n ≥,4n + 3 ⩽ 5n。 示例 2:函数 20n2 + 5n + 2 = O (n2) 因为对于所有 n ≥,20n2+ 5n +2⩽21n2。 2. Omega (Ω) 符号:函数 f (n) = Ω (g (n)) [读作 "f of n is omega of g of n"] 当且仅当存在正常数 c 和 n0 使得 f (n) ≥ C* g (n) for all n, n ≥ n0 ![]() 示例 1:函数 4n + 3 = Ω (n) 因为对于所有 n ≥1,4n + 3 ≥ 4n。 示例 2:函数 20n2+ 5n +2 = Ω (n) 因为对于所有 n ≥1,20n2+ 5n +2 ≥ 20n2。 3. Theta (θ):函数 f (n) = θ (g (n)) [读作 "f is the theta of g of n"] 当且仅当存在正常数 k1、k2 和 k0 使得 k1* g (n) ≤ f (n)≤k2* g(n)for all n, n≥n0 ![]() 示例 1:函数 4n + 3 = θ (n) 因为对于所有 n ≥ 3,4n + 3 ≥ 4n,并且对于所有 n ≥ 3,4n + 3 ≤ 5n。 示例 2:函数 20n2+ 5n +2 = θ (n2) 因为对于所有 n ≥1,20n2+ 5n +2 ≤ 21n2,并且对于所有 n ≥ 1,20n2+ 5n +2 ≥ 20n2。 下一个主题命题和复合语句 |
我们请求您订阅我们的新闻通讯以获取最新更新。