递归
递归: 把大规模的问题转化为规模小的相同的子问题来解决。递归主体和 一个终止条件
因为大问题 和小问题 的解决方法往往是同一个方法,所以产生函数调用自身的情况。 一个终止条件 (防止产生无限递归)
分治
分治: 把大规模,高难度的问题转化为 若干个小规模,低难度的小问题,最后再将小问题的答案合并
数据有序,预期时间复杂度带有 logn。通过小问题的答案合并原问题的答案。 可以采用分治法
排序
排序: 让一组无序的数据变成有序的过程
排序最暴力的方法, 冒泡排序,选择排序,插入排序 O(n**2)
归并排序 O(nlogn),需要开辟额外的空间 空间复杂度 O(N)
快速排序 平均 O(nlogn), 最坏的时间复杂度 O(n**2)