数据结构和算法大概

个人认为学习一门课程,脑中先对这门课程有个大体的概念再去详细学习,这样的效果会比较好。

数据结构的基本概念
1.顺序存储结构:数据存放在地址连续的空间里。

  1. 链式存储结构:把数据存放在任意的存储单元里,用一个指针存放数据元素的地址,通过地址找到关联元素。

算法的基本概念
算法的目标是时间效率高、存储量低来完成一个操作。
算法的度量方式:时间复杂度 + 空间复杂度

  1. 时间复杂度: 随着问题规模N的增大,算法执行时间的增长率和问题规模函数f(N)的增长率相同,即算法执行时间的增长率为与f(N)有关系的函数,记做O(f(N)) 。 记渐近时间复杂度为T(N), 则有
    T(N) = O(f(N))。

时间复杂度只关注主项的阶数,低阶的在运算量大的时候可以忽略。

常见的时间复杂度:

  1. 常数阶 —-> O(1)
  2. 线性阶 —-> O(n)
  3. 平方阶 —-> O(n²)
  4. 对数阶 —-> O(log<2> n)
  1. 空间复杂度: 类似时间复杂度,空间复杂度记做 S(n),
    S(n) = O( f(n) );

一般来说求算法的复杂度指的是求算法的时间复杂度。

    原文作者:Sweet丶
    原文地址: https://www.jianshu.com/p/3a6aac56b0ca
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞