加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 服务器 > 安全 > 正文

【数据结构】二叉树的遍历

发布时间:2021-05-17 01:39:06 所属栏目:安全 来源:网络整理
导读:二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作 二叉查找树 和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右

二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作 二叉查找树 和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。

?

二叉树的遍历包括深度优先和宽度优先,深度优先又有前序,中序遍历和后序遍历三种。

对于深度优先遍历,递归遍历方法直观而简洁,如果要使用非递归方法,一般要借用栈结构;

宽度优先则常使用队列来实现。

?

复制代码

?1? int?main()
?2?{
?3?????TreeNode< int>?n1( 10,NULL,NULL);
?4?????TreeNode< int>?n2( 9,128); line-height:1.5!important">?5?????TreeNode< int>?n3( 6,&n1,&n2);
?6?????TreeNode< int>?n4( 7,128); line-height:1.5!important">?7?????TreeNode< int>?n5( 8,128); line-height:1.5!important">?8?????TreeNode< int>?n6( 3,&n4,&n5);
?9?????TreeNode< int>?n7( 1,&n3,&n6);?
10?
11?????n7.PreTraverse();?cout?<<?endl;?
12?????n7.InTraverse();??cout?<<?endl;?
13?????n7.PostTraverse();cout?<<?endl;??
14?
15?????system( " pause ");
16????? return? 0;
17?}

复制代码

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读