美文网首页
算法定义

算法定义

作者: 大写的空气 | 来源:发表于2020-02-19 21:46 被阅读0次

算法(algorithm)具有以下特性

有输入:必须有0个或多个输入

有输出:有一个或多个输出,输出的量是算法计算的结果

确定性:每一步都应确切地、无歧义地定义。

有穷性:执行有穷步后结束

能行性:每一条运算都必须是足够基本的。能通过计算机指令精确地执行,有限次计算就能完成

算法的性能标准

正确性(correnctness):能正确地执行预定的功能和性能要求

可使用性(usability):能够很方便的使用。也称用户友好性

可读性(readability):逻辑必须是清晰、简单和结构化的

效率(efficiency):执行时计算机资源的消耗,包括存储和运行时间的开销,前者叫算法的空间代价,后者叫时间代价

健壮性(robustness):调用状态进行自动检错、报错并通过与用户对话来纠错的功能。也叫容错性或例外处理

简单性(simplicity):所采用数据结构和方法的简单程度

算法复杂性度量

空间复杂度(space complexity):当问题的规模以某种单位从1增加到n时,解决这个问题的算法在执行时所占用的存储空间也以某种单位由1增加到S(n),则称此算法的空间复杂度为S(n)

时间复杂度(time complexity):当问题的规模以某种单位从1增加到n时,解决这个问题的算法在执行时所耗费的时间也以某种单位由1增加到T(n),则称此算法的时间复杂度为T(n)

程序步:在语法上或语义上有意义的一段指令序列,而且这段指令序列的执行时间与实例特性无关

c < log2n < n < nlog2n < n² < n³ < 2的n次方 < n!

相关文章

  • 1.公共知识——数据库结构和算法

    算法 算法的定义 算法的特征 算法的基本要素 算法的复杂度 数据结构 数据结构的定义 逻辑结构和物理结构 线性结构...

  • 模板方法模式

    定义:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的...

  • 设计模式之模板方法

    1、定义 定义算法框架,并将一些步骤的实现延迟到子类。通过模板方法,子类可以重新定义算法的某些步骤,而不用改变算法...

  • sgd(params, lr, batch_size)

    定义优化算法

  • 模板模式

    定义: 定义一个操作中的算法框架,而将一些步骤延迟到子类中,使得子类不改变算法的结构即可重复定义算法的某些特点步骤...

  • 策略模式

    策略模式的定义 定义: 策略模式(Strategy Pattern):定义一组算法,将每个算法都封装起来,并且使它...

  • 模板方法模式

    一、定义 定义一个操作中的算法框架,而将一些步骤延迟到子类中,使得子类不改变算法的结构即可重复定义算法的某些特点步...

  • 模板方法模式

    定义 定义一个操作中的算法的框架,将部分步骤延迟到子类实现,子类可以不改变算法的结构,重新定义该算法的某些特定步骤...

  • 《HEAD FIRST设计模式》之策略模式

    定义Strategy Pattern策略模式定义了一组算法,封装各个算法,使得算法之间可以相互替换。而调用者不必关...

  • 模板方法模式

    定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定...

网友评论

      本文标题:算法定义

      本文链接:https://www.haomeiwen.com/subject/ayezfhtx.html