- DFS&BFS
tree上边的tranversla和divi&&conquer就是DFS
BFS,binarty tree level-order tranversal一层一层的走就是
图和tree: tree,没有cyce,dfs不会重复,图可能有环,可能死循环如果不记录的话
where you can search:tree,graph,Combination of Linear structures(array,string, number)
LTC 102: binary tree level order Traversal
.BFS用到了queue,FIFO
stack可以实现DFS,不过先right child然后leftchild,这样可以保证print先left在右,因为stack的先入后出
BFS有模板
1h27 例题: 200 number_of island,可以使用DFS,或者queue的BFS
1h40 例题:78subsets。 sort,避免重复的number。
使用递归实现combination,复杂度exponential
- combinatoin
所有combination的题目有一个模板2h06
先sort!!!
result。add中 new arraylist(subset)?deep copy
startindex看看是否可以服用,可以复用,i不变否则i+1
例题:90subset2. 2h09, 加上一句判断现在和前者是否一样,并且不能越界。
这样就不用单独新建一个vecotr去重了
例题:39 combination sum
40Com sum2. 右duplicate
216 com sum3. size=k的sum=target
helper必须传的参数,startindex,原始array,每层的solution,总的result
- 排列,有顺序有模板
46.permutation。2h31min
所有的数都要被选
permutation 2例题,