数据结构基础

2020-04-02  本文已影响0人  六度Lavie
数据结构基础.png
逻辑结构: 数据与数据之间的逻辑关系
物理结构:

相关面试题: 最短路径, 图形结构(※还不会,学完来看看)

数据结构与算法之间的关系

时间复杂度

1,用常数1取代运行中所有常数 3-> 1

2,在修改运行次数函数中,取最高阶乘 n3+2n2+5 -> O(n^3)

常用术语:

指数阶(eg: 2^n)除非n非常小,否则这种消耗过大,实际开发中不会考虑

时间复杂度.png

O(1) < O(log n) < O(n) < O(nlog n) < O(n2) < O(n3) < O(2n) < O(n!) < O(n^n)

空间复杂度

计算辅助空间,输入数据所占空间只取决于问题本身,和算法无关,则只需分析除输入和程序之外得辅助变量所占额外空间

eg:

该算法将一位数组a的n个数逆序存放到原数组中,则该空间复杂度为O(1)

for (i = 0; i < n / 2; i++) {

t = a[I];

a[i] = a[n-i-1];

a[n-i-1] = t;

}

下列不同算法将一位数组a的n个数逆序存放到原数组中,则该空间复杂度为O(n)

for(i=0;i<n;i++) b[i] = a[n-i-1];

for(i=0;i<n;i++) a[i] = b[i];

感谢CC老师

上一篇 下一篇

猜你喜欢

热点阅读