【DS】1.2

top-iron man

 

 

 

 

算法

 

 

 


效率度量

  • 时间T=T(n)

 

 

 

 

 

 

1、顺序忽略
2、只选一个基本操作分析
3、多层嵌套只考虑最深的循环循环了几次 

 

test1:

 

 

 test2:

 

 

  

  • 空间

     

     

      
    原地工作:算法所需内存空间为常量
    空间复杂度=递归调用的深度

  • 练习

1、算法定义是问题求解步骤的描述,五个基本特性是必要条件不是定义;
2、时间复杂度表明该算法的执行时间与O( )成正比;
3、while中有n*2这种 可以看一下是不是log2n;【i=i*2,则2t<=n,t<=log2n】
4、升序列表合并:两两比较表中的元素,每比较一次,确定一个元素的链接位置(取较小元元素,头插法;当一个链表比较结束后,直接把另一个剩下的元素插入;最坏情况:两个链表依次比较 用max;
5、

 

6、前n项和的时间复杂度是n的1/2次方吗

 7、没懂

8、

 

 

 

 

 

 

 

 总结

1、循环主体中的变量参与循环条件的判断

2、循环主体中的变量与循环条件无关

 只关注主体语句执行
  1、递归:公式递推,比如乘法拉~!
  2、非递归:累计次数

  

posted @ 2022-07-28 22:46  Tityaaaa  阅读(40)  评论(0编辑  收藏  举报