python3 深度搜索DPS 与 宽度搜索 DFS

1、 DFS   规律: 从root到子节点,从上到下,从左到右

                               python3 深度搜索DPS 与 宽度搜索 DFS

python3 深度搜索DPS 与 宽度搜索 DFS

代码:  一般用栈来解决、

        python3 深度搜索DPS 与 宽度搜索 DFS

 

2、深度优先

python3 深度搜索DPS 与 宽度搜索 DFS

                     python3 深度搜索DPS 与 宽度搜索 DFS

三种便利方式,仅仅在当前数的打印位置不同

python3 深度搜索DPS 与 宽度搜索 DFS python3 深度搜索DPS 与 宽度搜索 DFSpython3 深度搜索DPS 与 宽度搜索 DFS

 

例题:

    python3 深度搜索DPS 与 宽度搜索 DFSpython3 深度搜索DPS 与 宽度搜索 DFS

解题思路:对于任一节点,其有选和不选两种情况。我们每次考虑一棵子树,那么根只有两种情况,选和不选(我们让dp[0]表示不选,dp[1]表示选)。 即Tn+Tn-2 时刻与Tn-1时刻比较

python3 深度搜索DPS 与 宽度搜索 DFS

代码:

                                   python3 深度搜索DPS 与 宽度搜索 DFS