首页 > 编程知识 正文

二叉树的遍历图解例题,二叉树的三种遍历例题

时间:2023-05-06 19:09:23 阅读:160284 作者:2691

1、什么是深度优先遍历? 实际上,深度优先遍历可以认为是上一个遍历,如下二叉树所示。

其深入扫描结果为1、2、4、8、9、5、3、6、7

2、解题思路1、采用递归方式进行遍历。

二、利用3358www.Sina.com/,根先入栈,再出栈,根右部树、左部树入栈,的http://www.com

3、编程实现classnode(:#节点类def_init_ ) (self ),data=-1 ) : self.data=dataself.left=none data )到: #树节点node=node(data ) if self.root.data==-1: #如果树为空,则在根节点中包含self.root=node else 3360 my QQ treenode=self.rootmyqueue.append (treenode ) while myQueue: #分层遍历现有节点treenode=myqueue.pop(0) )。 if not treenode.left : treenode.left=nodereturnelifnottreenode.right 3360 treenode.right=nodereturnelse 3360 my queue ) )自、 root ) : #递归实现深度优先遍历if root==none : return print (root.data ) self.DFS ) root.left (self.DFS ) root.right 基于堆栈数据结构的深度遍历if root==none : return stack=[ ] stack.append (root ) while stack : now _ node=stack.pop==none : stack.append (now _ node.left ) if_name_=='_main_':#主函数datas=[ 1,2,3,3, 9 ) tree=tree(#新树对象fordataindatas:tree.add ) #一个节点print (“递归实现基元遍历:”) tree,每个节点参与一个树

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。