02算法与算法分析
前言
- 本部分最主要的内容是时间和空间复杂度。
 - 时间复杂度之前还多少知道,空间复杂度用得比较少,以至于刷题时,人家说空间复杂度是O(1)时自己都没点数。
 
内容
- 算法的定义,对特定问题求解步骤的一种描述。
 算法的特性
- 有穷性
 - 确定性
 - 可行性
 - 有输入
 - 有输出
 
算法的目标
- 正确性
 - 可使用性
 - 可读性
 - 健壮性
 - 高效率和低存储量需求
 
算法时间复杂度
分析时间复杂度的步骤
- 根据形参n确定问题规模
 - 算法中循环中最深层的诗句为基本语句,基本语句是不是与形参n有关系。
 - 用O进行标记,只保留最高阶项。
 
不同时间复杂度的排序和比较
- O(1) 常数阶 < O(logn) 对数阶 < O(n) 线性阶 < O(nlogn) < O(n^2) 平方阶 < O(n^3) < { O(2^n) < O(n!) < O(n^n) }
 
空间复杂度
- 函数体内新开辟的空间。
 - 如果临时变量与形参n确定问题规模无关,那么就是O(1)。
 
习题
李的习题
- 比较有代表性的是递归求规模,这个部分不太会呢l,或者没有更多深入ionel
 - 33,有以下递归算法:
 
void mergesort(int i,int j)
{ 
 int m; 
 if(i!=j)
 {
 m=(i+j)/2; 
 mergesort(i,m);
 mergesort(m+1,j);
 merge(i,,j,m);
}
},分析mergesort(0,n-1)的时间复杂度
履历
第一版
- 20181227左右看的内容,20181201整理的,也是48周的计划内容。
 
参考
相关推荐
  lwnylslwnyls    2020-11-06  
   bluewelkin    2020-09-16  
   yanzhelee    2020-10-13  
   guojin0    2020-10-08  
   佛系程序员J    2020-10-08  
   wwzaqw    2020-09-04  
   zhongdaowendao    2020-09-02  
   favouriter    2020-08-18  
   奎因amp华洛    2020-08-15  
   一青年    2020-08-13  
   千锋    2020-08-10  
   nangongyanya    2020-08-09  
   dongxurr    2020-08-08  
   明天你好    2020-08-03  
   kyelu    2020-08-03  
   Ashes    2020-08-03