美文网首页
数据结构 | (一)算法及算法分析

数据结构 | (一)算法及算法分析

作者: 松鼠的读书笔记 | 来源:发表于2019-01-11 23:04 被阅读9次

    1、什么是算法?

    算法是对特定问题的求解步骤,具有有穷性、确定性、可行性、输入、输出5个重要特性。

    2、什么是好的算法?

    正确、可读性强、健壮、高效、低存储需求。

    3、如何衡量算法的好坏?

    (1)时间复杂度

    在分析算法的running time时,通常我们并不关心具体的大小,我们更关心running time 的阶数,当input size很大的时候,这个函数的表现如何。

    (2)空间复杂度

    算法原地工作:程序运行所需的辅助空间相对输入的数据量来说是常数。

    4、算法分析的两个主要任务

    正确性(不变性 X 单调性) +  复杂度

    5、时间复杂度分析举例

    分析BFS宽度优先搜索算法的时间复杂度

    BFS算法

    算法的时间复杂度与输入的数据结构有关:

    当输入是邻接表时, 时间复杂度是 O(n + m)(其中n是节点数,m是边数) ;

    当输入是邻接矩阵时, 算法时间复杂度为 O( n^2 ) 。

    邻接矩阵的时间复杂度分析如下:

    BFS时间复杂度分析

    相关文章

      网友评论

          本文标题:数据结构 | (一)算法及算法分析

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