美文网首页
算法第一课 - 认识

算法第一课 - 认识

作者: jeneen1129 | 来源:发表于2021-05-26 14:27 被阅读0次

算法

定义:
解题方案的准确而完整的描述,是一系列解决问题的清晰指令。

五个特征

  1. 有穷性
    有限步骤
  2. 确定性
    每个步骤没有二意
  3. 输入 >= 0(may have inputs)
    输入有0或者多个
  4. 输出 >= 1(more than one output)
    必定有一个或者多个输出,代表解决方案的结果
  5. 可行性(effectiveness)
    每个步骤都是可执行的

评价

  1. 稳定性
    比如排序算法中
  • 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。
  • 不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。
  1. 时间复杂度
    执行算法所要花费的时间,通常直接使用函数 o(f(n)) 来表示。
  2. 空间复杂度
    算法在计算机内执行时所需存储空间的度量,它也是数据规模n的函数。
  3. 可读性: 易于理解
  4. 鲁棒性、健壮性
    对不合理数据的反应和处理能力,也叫容错性

方法

  1. 递推法
  2. 递归法
  3. 穷举法
  4. 贪心算法
  5. 分治法
  6. 动态规划法
  7. 迭代法
  8. 分支界限法
  9. 回溯法

相关文章

  • 算法第一课 - 认识

    算法 定义:解题方案的准确而完整的描述,是一系列解决问题的清晰指令。 五个特征 有穷性有限步骤 确定性每个步骤没有...

  • 算法的认识

    一、算法的定义 是指解决问题的一种方法或者一个过程,更严格来说,算法是由若干条指令组成的”有穷序列”。具有输入、输...

  • 快速排序和冒泡排序算法

    此前由于自己对快速排序算法的认识不够,现在重新学习一遍,加深自己的认识。 快速排序算法是对冒泡算法的一种改进,大家...

  • 左程云视频笔记

    近期正在观看和学习第四期左程云牛客算法视频,记录学习过程。 (持续更新) 第一课~ 讲解时间复杂度,衡量算法的标准...

  • 吴恩达深度学习(五)

    优化算法 第一课:小批量梯度下降 本周学习加快神经网络训练速度的优化算法。 我们之前学习过矢量化可以让你有效的计算...

  • 算法学习(2)----丢番图方程

    之前一篇随笔"算法学习(1)----扩展欧几里得算法"记录了对朴素欧几里得算法和扩展欧几里得算法的学习和认识...

  • 开学第一天

    语文学习了第一课春夏秋冬,数学也学习了第一课学的左右认识,还上了美术课

  • 思维导图作文法(无敌老师)

    http://ke.kaixinzuowen.com/course/41 第一课 认识思维导图

  • 【weka应用技术与实践】【数据挖掘】举例说明Kmeans算法的

    源自:K-means 算法【基本概念篇】 1. Kmeans算法的认识 k均值聚类算法(k-means clust...

  • 记录五 认识算法

    我们为什么要学习算法? 正所谓:数据结构 + 算法 = 程序 。当我们了解了数据结构时,就必须要了解一下算法。因为...

网友评论

      本文标题:算法第一课 - 认识

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