zoukankan      html  css  js  c++  java
  • 【第2/9章】算法绪论

    算法:解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

    算法五特性:

    输入 算法具有零个或多个输入
    输出 算法至少有一个或多个输入
    有穷性 算法在执行有限步骤后自动结束,不会出现无限循环
    确定性 算法的每一步都有确定的含义
    可行性 算法的每一步都是可行的

    算法的要求:

    正确性

    算法至少具有输入、输出和加工处理无歧义性、能够正确反映问题的需求、能够得到问题的正确答案。1.算法程序没有语法错误  2.算法对合法输入可以产生正确答案  3.算法对非法输入的说明处理  4.算法对刁难的测试数据都有满足输出的结果。

    可读性 便于阅读、理解和交流
    健壮性 当输入非法数据时,算法也能够做出相应的反应,而不是莫名奇妙的结果。
    时间效率与空间效率 应满足时间效率高和存储量低的需求

    算法效率的度量方法:

    事后估计法:利用计算机测试运行算法的速度。

    事前估算法:在计算机程序编制前,依据统计方法对算法进行估算。

    常见时间复杂度:

    最坏时间复杂度:在最不理想,运气最坏的时候,执行这段代码的时间复杂度。

    平均时间复杂度:它把每种情况下的复杂度加起来,然后除以情况的个数,所得的值就是平均复杂度,类似于数学上的均值。

    算法空间复杂度:通过计算完成某一算法需要占用的空间大小而实现。

  • 相关阅读:
    Spring一些常用注解及其作用
    Spring、Springboot、Springcloud的区别
    JVM常见配置
    Statement对象
    运算符优先级
    Java中的关键字有哪些?
    Servlet生命周期
    String类型的认识以及编译器优化
    JSTL--简单标签
    JSTL--表达式操作
  • 原文地址:https://www.cnblogs.com/handsometaoa/p/12580703.html
Copyright © 2011-2022 走看看