Scott の 博客 Scott の 博客
首页
  • Data Structure and Algorithm
  • Java
  • 面试
  • Drafts
  • C++
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Scott

恋爱中
首页
  • Data Structure and Algorithm
  • Java
  • 面试
  • Drafts
  • C++
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Data Structure and Algorithm

  • Java

  • c++

  • 面试

  • Bilibili_Java

  • Python

  • All kinds of Drafts

  • High Integrity Information System

  • 左神算法课

    • 1
      • 1. 评估算法优劣的核心指标是什么?
      • 2. 什么是时间复杂度?时间复杂度怎么估算?
      • 3. 何为常数时间的操作?
      • 4. 常见的常数时间的操作
      • 5. 如何确定算法流程的总操作数量与样本数量之间的表达式关系?
      • 6. 如何确定算法流程的时间复杂度?
  • 个人笔记
  • 左神算法课
Scott
2022-08-29
目录

1

  1. 算法数据结构体系学习班 - 第1节
    1. 1. 评估算法优劣的核心指标是什么?
    2. 2. 什么是时间复杂度?时间复杂度怎么估算?
    3. 3. 何为常数时间的操作?
    4. 4. 常见的常数时间的操作
    5. 5. 如何确定算法流程的总操作数量与样本数量之间的表达式关系?
    6. 6. 如何确定算法流程的时间复杂度?

# 算法数据结构体系学习班 - 第1节

# 1. 评估算法优劣的核心指标是什么?

  • 时间复杂度(流程决定)
    • 常数项时间(实现细节决定)
  • 额外空间复杂度(流程决定)

# 2. 什么是时间复杂度?时间复杂度怎么估算?

  • 常数时间的操作
  • 确定算法流程的总操作数量与样本数量之间的表达式关系
  • 只看表达式最高阶项的部分

# 3. 何为常数时间的操作?

  • 如果一个操作的执行时间不以具体样本量为转移,每次执行时间都是固定时间。
  • 称这样的操作为常数时间的操作

# 4. 常见的常数时间的操作

  • 常见的算术运算(+、-、*、/、% 等)

  • 常见的位运算(>>、>>>、<<、|、&、^等)

  • 赋值、比较、自增、自减操作等

  • 数组寻址操作

  • 总之,执行时间固定的操作都是常数时间的操作

  • 反之,执行时间不固定的操作,都不是常数时间的操作

# 5. 如何确定算法流程的总操作数量与样本数量之间的表达式关系?

1,想象该算法流程所处理的数据状况,要按照最差情况来。

2,把整个流程彻底拆分为一个个基本动作,保证每个动作都是常数时间的操作。

3,如果数据量为N,看看基本动作的数量和N是什么关系。

# 6. 如何确定算法流程的时间复杂度?

  • 当完成了表达式的建立,只要把最高阶项留下即可。低阶项都去掉,高阶项的系数也去掉。

  • 记为:O(忽略掉系数的高阶项)

    • Big O Notation
上次更新: 2022/12/04, 16:55:22
lecture note

← lecture note

最近更新
01
day01-Java基础语法
08-31
02
路线
08-01
03
1
08-01
更多文章>
Theme by Vdoing | Copyright © 2019-2022 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×