当前位置:   article > 正文

【408数据结构】概述

【408数据结构】概述

什么是数据结构

程序 = 数据结构 + 算法
算法是求解问题的步骤

算法的特性

有穷性

必须要在固定的步骤内解决问题,死循环不算作算法

确定性
可行性

必须要能够通过计算机代码实现,同时还需要具有输入和输出

输入取自于某个特定的对象的集合

输出是与输入相关联的量

算法好不好?

正确性

一个算法应当可以正确的解决问题

可读性
健壮性

对于非法数据可以做出反应

高效率与低存储需求

低时间复杂度&空间复杂度

时间复杂度

O用来表示数量级,我们在考虑时间表达式的时候只考虑最高项

两个时间复杂度相加,我们只保留最高的一项

两个时间复杂度相乘,结果就是相乘

O ( 1 ) < O ( l o g 2 n ) < O ( n ) < O ( n l o g 2 n ) < O ( n 2 ) < O ( n 3 ) < O ( 2 n ) < O ( n ! ) < O ( n n ) O(1)<O(log_2n)<O(n)<O(nlog_2n)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n) O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)

真正影响时间复杂度的量级由循环结构体决定

对于数组,要考虑最优情况的时间复杂度和最坏情况的时间复杂度

空间复杂度

内存需求包括:代码本身占用的空间,使用的数据

用S表示空间复杂度,当为S(1)时,被称为原地工作

空间复杂度主要由变量所决定,同时也只取最高阶

特殊情况:递归

每一层所占用的数据内存*递归次数

空间复杂度=变量阶数(如一维数组)*递归次数,同时数据长度可能也会改变

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/1006500
推荐阅读
相关标签
  

闽ICP备14008679号