1,算法就是解决问题的步骤,觉得:假定数据结构是一个大的机器,那么其中包含了各种零件,算法就是这些零件结合的规则,从而将其组成一个机器。很有趣,也很有用,但是没必要钻牛角尖。
2,线性表(双指针用的多,二分查找及其变形也不错);链表(在进行操作的时候,特别要注意指针的丢失,然后调试好久还没有结果,总体也就是遍历,但是注意指针操作)
3,二叉树(用递归解题的不少,相对而言,简单一些;还有就是非递归的遍历,特别是层次遍历,提好玩);图(碰到的用二维数组来模拟,直接用邻接矩阵,邻接表的少,bfs,dfs容易,其他的稍难)
4,动态规划(主要是写出状态转移方程,然后就指明了解题的方向,用递归比较好写,但是执行效率低,用一维数组或二维数组来从下向上的执行,执行效率好很多;从上向下的执行也可以,但是跟递归在执行效率上差不多)
5,其他(这类题目很有趣,特别是哪个最大矩形的;还有就是对字符串的处理的,也很有趣)
6,代码上传到github:leetcode 代码
时间: 2024-10-19 16:38:27