绪论知识点概

常考算法的时间复杂度

  1. 数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位。例如,学生记录就是一一个数据元素,它由学号,姓名,性别等数据项组成,多个数据元素的集合称为数据对象,加上集合上的操作构成数据类型。
  2. 算法的特性:有穷性,确定性,可行性,输入,输出
  3. 数据结构三要素:逻辑结构,物理结构,数据运算
  4. 可以用抽象数据类型定义一个完整的数据结构
  5. 与存储结构有关的术语:循环队列(只能顺序存储),哈希表(只能散列存储),单链表(只能链式存储),无关的术语如:栈(可顺序存储也可链式存储)
  6. 属于逻辑结构的是有序表(与物理结构无关)
  7. 数据的逻辑结构一定独立于物理结构,但物理结构不独立于逻辑结构
  8. 链式存储节点间的存储单元地址不连续,但节点内的存储单元地址一定连续
  9. 算法的定义是问题求解步骤的描述
  10. 某算法的时间复杂度是O( n 2 n^2 n2),表明该算法的执行时间与 n 2 n^2 n2成正比,说明算法的时间复杂度T(n)满足 T ( n ) ≤ c n 2 T(n)\leq cn^2 T(n)cn2,即 T ( n ) = O ( n 2 ) T(n)=O(n^2) T(n)=O(n2),时间复杂度T(n)是问题规模n的函数,其问题规模仍然是n而不是n^2
  11. 算法原地工作的含义是指开辟额外的辅助空间为常数级
  12. n是一个规模,而不是具体的数值,所以时间复杂度的大小是一定的
    O ( 1 ) < O ( l o g 2 n ) < O ( n 1 / 2 ) < O ( n ) < O ( n l o g 2 n ) < O ( n 2 ) < O ( n 3 ) < O ( n ! ) < O ( n n ) O(1)<O(log_2n)<O(n^{1/2})<O(n)<O(nlog_2n)<O(n^2)<O(n^3)<O(n!)<O(n^n) O(1)<O(log2n)<O(n1/2)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(n!)<O(nn)
    11. T ( n ) = { 1 n = 1 2 T ( n / 2 ) + n n > 1 T(n)=\left\{ \begin{array}{rcl} 1 & {n = 1}\\ 2T(n/2)+n & {n > 1} \end{array} \right. T(n)={12T(n/2)+nn=1n>1
    设n是2的整数次幂,求时间复杂度
    在这里插入图片描述
  13. 斐波拉契算法的时间复杂度
    递归:O(n^2)
    迭代:O(n)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Baal Austin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值