背景
我们知道,我们在完成一件事情时,总会有一些计划,比如在什么时候用什么方法去完成。在数据结构的世界中,算法就是如此,它是解决特定问题求解步骤的描述,以下是一些总结:
算法(Algorithms)
算法定义:
算法是解决特定问题求解步骤的描述,在计算机表现为指令的有限序列,且每个指令表示一个或多个操作。
算法特性
一,输入输出:
- 输入:算法具有零个或一个输入。
- 输出:算法具有至少一个输出。
二,有穷性:
- 算法在执行有限的步骤之后,会自动结束而不会出现无限循环,且每个步骤须在有限的时间内完成。
三,确定性:
- 算法的每一个步骤都有明确的含义,不会出现二义性
- 一定条件下,只有一条执行路径,相同输入只能获得的一个输出结果,每个步骤被精确定义,无歧义。
四,可行性:
- 算法的每一个步骤都是可执行的,每一步都可执行有限步骤完成。
算法时间复杂度
时间复杂度:算法的时间度量。
算法时间复杂度表示方法:大O阶表示方法
T(n) = O(f(n)):随问题规模n的增大,执行时间的增长率与f(n)的增长率相同。
n:问题规模;f(n):运行次数函数(基本操作数量)。
- 加法常数:用常数1取代。
- 只保留运行次数函数中的最高阶项。
- 若最高阶存在,且不是1,去处最高阶项常数。
常见的算法时间复杂度表示:

算法空间复杂度
计算算法所需的存储空间的实现。
计算公式:S(n) = O(f(n))
=======
title: Algorithms(second)
date: 2020.3.22
tag: Algorithms
abbrlink: b7abc8f6
背景
我们知道,我们在完成一件事情时,总会有一些计划,比如在什么时候用什么方法去完成。在数据结构的世界中,算法就是如此,它是解决特定问题求解步骤的描述,以下是一些总结:
算法(Algorithms)
算法定义:
算法是解决特定问题求解步骤的描述,在计算机表现为指令的有限序列,且每个指令表示一个或多个操作。
算法特性
一,输入输出:
- 输入:算法具有零个或一个输入。
- 输出:算法具有至少一个输出。
二,有穷性:
- 算法在执行有限的步骤之后,会自动结束而不会出现无限循环,且每个步骤须在有限的时间内完成。
三,确定性:
- 算法的每一个步骤都有明确的含义,不会出现二义性
- 一定条件下,只有一条执行路径,相同输入只能获得的一个输出结果,每个步骤被精确定义,无歧义。
四,可行性:
- 算法的每一个步骤都是可执行的,每一步都可执行有限步骤完成。
算法时间复杂度
时间复杂度:算法的时间度量。
算法时间复杂度表示方法:大O阶表示方法
T(n) = O(f(n)):随问题规模n的增大,执行时间的增长率与f(n)的增长率相同。
n:问题规模;f(n):运行次数函数(基本操作数量)。
- 加法常数:用常数1取代。
- 只保留运行次数函数中的最高阶项。
- 若最高阶存在,且不是1,去处最高阶项常数。
常见的算法时间复杂度表示:

算法空间复杂度
计算算法所需的存储空间的实现。
计算公式:S(n) = O(f(n))a7c4693 (Update: blog)
n:问题规模; f(n):关于n所占存储空间内存的函数。