zoukankan      html  css  js  c++  java
  • 数据结构与算法——1.1算法分析

    什么是算法分析?

    比较方面:

    • 代码风格,可读性
    • 计算资源占用
      * 空间(内存)占用
      * 执行时间占用

    运行时间检测

    python中的time模块,当前时间,基准点----->1970年0点0时0分0秒
    不同运行环境(linux or windows? 移动端or服务器?),编程语言,因此用时间作为衡量指标不合理。

    算法时间度量指标

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

    赋值语句:一个比较合适的选择

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

    “大O”表示法

    基本操作步数的精确值并不是特别重要,发展的眼光看--最重要的是主导部分,取T(n)中随着n增加而加速度最快的主导部分---即数量级函数order of magnitude: f(n),则可表示为O(f(n))
    具体做法:

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

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

  • 相关阅读:
    屏幕适配的发展历史
    NSURLConnection / NSURLSession/ SDWebImage
    版本工具管理之----git
    Framework、Cocoa、Xcode
    UICollectionView-网格视图
    博客园每日一卦o(* ̄︶ ̄*)o
    平凡的程序猿
    如何使用java代码启动tomcat和打开浏览器
    web项目部署以及放到ROOT目录下
    java项目打包生成MD5文件
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/13252067.html
Copyright © 2011-2022 走看看