算法与数据结构基础知识

来源:互联网 发布:新代系统编程说明书 编辑:程序博客网 时间:2024/05/22 17:21

1.数据结构的概念
数据结构有两种结构:
逻辑结构:线性表,图,树
物理结构:计算机实际存储形式

2.算法的评测
空间复杂度:程序运行占用的空间
时间复杂度:程序运行所需的时间

3.for循环比递归调用所使用的空间复杂度低特别多,
所以递归要慎用,太占空间。
数据都是保存到内存中的,而变量用来保存值。

4.计算机计算加减法的速度比计算乘除法快很多,所以程序减少乘除的次数可以提高速度。

5.对于算法的时间复杂度可以用大O表示,大O表示法是一个粗略的算法时间复杂度表示,大O表示的是算法的最大时间复杂度。
计算规则(粗略):
1>T(f(n)) + T(g(n)) = T(Max(T(f(n)),T(g(n))))
两段程序相加的复杂度可以表示为复杂度最大的那段程序
疑问:如何第一个程序耗时一天,第二段程序耗时半天,这种粗略的算法就是一天,可实际中那半天也不得了哦
2>T(f(n))*T(g(n)) = T(f(n)*g(n))
两段程序相乘的复杂度可以表示为两段程序复杂度乘积。
3>for循环时间复杂度就是for循环次数乘以for循环内部时间的复杂度
n*(内部时间复杂度)
4>对于if else 语句去时间复杂度最大的那段程序作为复杂度即可

6.对于一个算法而言,每次运行的时间可能是不一样的,所以我们关注最大的时间运行时间复杂度,平均的时间复杂度不好计算。

0 0
原创粉丝点击