在经历一些面试,以及网上的归纳总结后,写下了这篇,给自己做个反馈。
一、递归算法
public static int FbnqSort(int num)
{
if (num <= 0)
return 0;
else if ( num <= 2 && num > 0 )
return 1;
else
return FbnqSort (num - 1) + FbnqSort(num - 2);
}
public long Func(int n){
if (n == 0 )
return 1;
esle
return n* Func( n - 1)
}
递归函数经常会涉及到 时空复杂度 ,限于篇幅,暂时不做深入探讨。
二、冒泡算法
冒泡算法是一种比较形象的比喻,受到压强差的影响,水中的泡泡会自深而浅逐渐变大。
具体思路如下:
- 比较相邻的元素的大小,符合条件,互换位置;
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越