天天看点

数据结构与算法——1.1算法分析

什么是算法分析?

比较方面:

  • 代码风格,可读性
  • 计算资源占用

    * 空间(内存)占用

    * 执行时间占用

运行时间检测

python中的time模块,当前时间,基准点----->1970年0点0时0分0秒

不同运行环境(linux or windows? 移动端or服务器?),编程语言,因此用时间作为衡量指标不合理。

算法时间度量指标:

必须是独立于具体程序/机器的度量指标,如算法所实施的操作步数。

  • 同时包含(表达式)计算和(变量)存储两个基本资源占用
  • 程序设计语言本身,除了与计算资源无关的定义语句外,主要就是控制流语句(结构操作)和赋值语句(数据操作),而结构操作仅起到组织语句作用,并不实施实际的处理。
    数据结构与算法——1.1算法分析

“大O”表示法

  • 去掉低阶部分,只保留最高阶
  • 将系数置为1
  • 一般来说以最差复杂度作为衡量指标

常见的大O数量级函数,7种

继续阅读