( 快速排序 , 归并排序 ) , 双指针算法 , 二分法 , 分治法 , 宽度优先搜索 , 深度优先搜索 , 二叉树遍历 , 动态规划 , 拓扑排序 , 递归 ;
② 数据结构 : 数组 , 链表...代码规范
----
代码缩进 : 缩进一般 不要超过 3 层 , 缩进量层次越深 , 出 BUG 几率越高 ; 超过 3 层的逻辑放在子函数中完成 ;
算法耦合性 : 一个算法如果需要 多个步骤 进行 , 每个步骤之间有交叉重复的情况..., 尽量 将每个步骤抽出放在一个单独的函数中完成 ;
代码注释问题 : 推荐使用 变量 / 方法 清晰易懂的命名 , 逻辑简单易懂 ; 需要一定的编程功底 , 感觉纯属扯淡 , 注释能加还是多加 ;..., 不允许出现无意义名称 ;
使用 1 ~ 2 个单词作为名称 ;
多重判定 : 多使用 continue 关键字 , 少用 if 关键字 ;
使用空格 :
二元运算符两边 都要添加空格 ;
单元运算符不加空格...;
if 与括号之间 加空格 ;
if , for 括号与花括号之间 添加空格 ;
逗号后面 添加空格 ;
使用空行 : 一个方法中 , 使用空行分隔不同逻辑模块 ;
异常检测 :
所有的函数 , 进来第一件事就是