对最近学习算法的小结,学算法其实并不难,在于多思考,多想,多写,写多了就发现无非是那么几类。在此小作总结,以便以后能很快的回想起来。
算法的基础,各种排序。
排序的n种方法。
各种排序算法:选择排序,冒泡排序,插入排序,快速排序,快速排序的随机方法,堆排序,希尔排序,二叉树排序,基数排序,计数排序
不稳定的排序:选择排序,快速排序,堆排序,希尔排序
下图大概总结了一下,看网上有个哥们儿这么写的,我在excel下重新敲了一遍,并更正了两处错误,分别是快排和归并排序的空间复杂度。
算法的常用数据结构:链表,循环链表,队列,栈
算法的几大类:递归,分治,回溯,动态规划
递归问题典型:汉诺塔,Fibonacci数列
分治:求逆序对
动态规划:背包问题,最大子数组和