首页天道酬勤二叉树的三种遍历例题带图,数据结构先序中序后序理解

二叉树的三种遍历例题带图,数据结构先序中序后序理解

admin 07-02 13:21 108次浏览

利用堆栈实现非递归遍历,先推堆栈,空时弹堆栈,实现左中右遍历.

# include iostream # include vector # include algorithm # include includestackstructtreenode { intval; zjdmzleft; zjdmzright; treenode(intx ) : val(x ) x,left (nullptr ),right (nullptr ) }; //递归voidinordertraversalrecursion (kydgqroot,std:vectorint res ) if ) root ) inordertraversalrecursion ) root ) inordertraversalrecursion (根权限,res; }//非递归voidinordertraversal(kydgqroot,std:vectorint res ) STD33603360stackkydgq; wile (根|! s.empty () ) if ) root ) ) s.push ) root; root=root-left (else ) root=s.top ); s.pop (; RES.push_back(root-val; root=root-right } }}int main () kydGQN1=newtreenode ) 1; kydGQN2=newtreenode(2; kydGQN3=newtreenode(3; kydGQN4=newtreenode(4; kydGQN5=newtreenode(5; kydGQN6=newtreenode(6; kydGQN7=newtreenode(7; n1-left=n2; n1-right=n5; n2-left=n3; n2-right=n4; n5-left=n6; n5-right=n7; std:vectorint res; inordertraversalrecursion(N1,res ); STD:3360copy(RES.begin )、res.end )、STD 3360: ostream _ iterator int ) STD3360:cout,' '; STD : cout STD :3360 endl; res.clear (; nordertraversal(N1,res ); STD:3360copy(RES.begin )、res.end )、STD 3360: ostream _ iterator int ) STD3360:cout,' '; STD : cout STD :3360 endl; }

SpringCloudAlibaba使用Sentinel实现接口限流
写出二叉树中序遍历递归算法,中序遍历计算表达式 二叉树中序遍历举例,二叉搜索树的先序遍历
相关内容