Backtrack
觉得Backtrack的主要用途:
- 计算所有可能数,这时候,如果从一个状态到下一个状态是单项的,就是说,不能回到以前的状态,就不用mark走过的路径并且Backtrack。如果能够回去,就需要Backtrack。举例子,比如说Graph,如果是directed,且没有loop,就不用Backtrack。但是,如果是有loop或者是undirected,说明能走到以前的点,就要backtrack。
- 给出所有的结果,这时候一般都要backtrack,除非中间结果每次递归的时候都复制,这样space消耗太大。