2 什么是算法
# 什么是算法
# 算法(Algorithm)定义特点
- 一个有限指令集
- 接受一些输入(有些情况下不接受输入)
- 产生输出
- 一定有限步骤中终止
- 没有条指令必须
- 有充分明确的目标,不可以有歧义
- 计算机能处理的范围之内
- 描述应不依赖于任何一种计算机语言以及具体的实现手段
# GPT4解释
算法是解决特定问题步骤的有序集合,是定义明确的计算过程,接受一些值或一组值作为输入,并产生一些值或一组值作为输出。简而言之,算法就是执行特定任务或解决特定问题的一系列指令。
特点
- 有限性:算法必须在执行有限步骤后终止。
- 确定性:算法的每一步骤都有明确的定义,不会出现二义性。
- 输入:一个算法有0个或多个输入,这些输入取自于特定的对象集合。
- 输出:一个算法有一个或多个输出,这些输出是与输入相关联的数据处理结果。
- 有效性:算法的每一步都必须足够基本,以至于它们可以准确地以纸笔方式执行,并在有限的时间内完成。
算法的设计和分析是计算机科学中的一个重要部分,它影响到程序的效率和性能。在设计算法时,我们通常关注以下几个方面:
重要关注
- 正确性:算法是否能正确解决问题。
- 效率:算法执行所需的资源量,通常指时间复杂度和空间复杂度。
- 可读性:算法是否易于理解,这对于维护和调试代码非常重要。
算法可以用伪代码、流程图、自然语言或编程语言来描述。在计算机科学中,研究算法的目的是为了找到更高效的方法来解决问题,包括但不限于排序、搜索、优化问题、数据压缩、加密解密等领域。
# 什么是好算法
- 空间复杂度:根据算法写成的程序在执行时
占用存储单元的长度。这个长度往往与输入数据的规模有关。空间复杂度过高的算法可能导致使用的内存超限,造成程序非正常中断。 - 时间复杂度:根据算法写成的程序在执行时
耗费时间的长度。这个长度往往也与输入数据的规模有关。时间复杂度过高的低效算法可能导致我们在有生之年都等不到运行结果。
在分析一般算法效率时候,我们经常关注下面两种复杂度
- 最坏情况复杂度T worst( n )
- 平均复杂度T avg( n )
T avg( n) <= T worst( n)
编辑 (opens new window)
上次更新: 2025/04/18, 01:42:12