美文网首页
广度优先搜索-(DFS)及例题详解

广度优先搜索-(DFS)及例题详解

作者: ab02f58fd803 | 来源:发表于2020-08-08 07:29 被阅读0次

    深度优先搜索-DFS

    深度优先搜索(DFS)是一种经典的的搜索算法,这种算法一般会根据深度优先遍历整个数据来寻找最佳的数据。根据DFS的定义一般使用进行判断运算。

    二叉树的前序遍历

    二叉树的前序遍历

    DFS_bitree.png

    .png "DFS")

    代码如下:

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution:
        def preorderTraversal(self, root: TreeNode) -> List[int]:
    
            if root is None:
                return []
            
            results, stack = [], []
            stack.append(root)
    
            while stack:
                node = stack.pop()
    
                if node:
                    results.append(node.val)
                    ####  前序遍历
                    if node.right:
                        stack.append(node.right)
                    if node.left:
                        stack.append(node.left)
                  
                 
            return results
    

    相关文章

      网友评论

          本文标题:广度优先搜索-(DFS)及例题详解

          本文链接:https://www.haomeiwen.com/subject/ajrprktx.html