- 分治法
核心思想:将一个难以直接解决的问题分割为n个子问题,各个击破,即“分而治之”
也就是把一个大的项目分为n个子项目,交给n个人去解决这n个问题,把问题化解。
- 递归法
递归是一种特殊的算法,和分治法很像,都是把一个进行分解,使其越来越小,使子问题容易解决。 如果一个函数是自身所定义或调用,就称为递归。
递归至少要满足两个条件
1.自己调用自己的一个过程
2有一个跳出递归过程的出口
- 冒泡排序
冒泡排序就是比较相邻的元素,将小的放到前面
int[] arr = {1,2,6,5,4,8};
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-i-1;j++){
if(arr[j+1]>arr[j]){
int temp =arr[j];
arr[j] = arr[j+1];
arr[j+1] =temp;
}
}
}
- 二分查找
将有序的数据分割为两等份,如果需要查找的数小于中间值,那么把中间值设为max。如果需要查找的数大于中间值,那么把中间值设为min,如此分割,直到找到或确定没有为止。