二叉树的层次遍历递归历

二叉树的递归遍历代码比较简单可是效率不高,层次遍历好像占用了很大的栈空间那到底哪种遍历好一点那,我不知道我的想法对不对请各位帮我分析分析,谢谢各位了~~... 二叉树的递归遍历代码比较简单可是效率不高,层次遍历好像占用了很大的栈空间那到底哪种遍历好一点那,我不知道我的想法对不对请各位帮我分析分析,谢谢各位了~~

你对这个回答的评价是

这几天在复习关于树的各种算法做了一些题,也搜索了网上各种算法现在来总结一下树的各种常见算法。

二叉树先中后序遍历(递归&非递归)算法

层次遍历(正序&逆序&锯齿形)非递归算法

1.二叉树先序非递归遍历

3.二叉树中序非递归遍历

 //递归中序遍历二叉树
 

5.二叉树后序非递归遍历

list.add(cur.val); //如果当前结点没有孩子结点或者孩孓节点都已被访问过
//锯齿形层次遍历(先从左往右下一层再从右往左,层与层之间交替进行)
 

问题 C: 还原二叉树

给一棵二叉树的層序遍历序列和中序遍历序列求这棵二叉树的先序遍历序列和后序遍历序列。

每个输入文件中一组数据

第一行一个正整数N(1<=N<=30),代表②叉树的结点个数(结点编号为1~N)接下来两行,每行N个正整数分别代表二叉树的层序遍历序列和中序遍历序列。数据保证序列中1~N的每個数出现且只出现一次

输出两行,每行N个正整数分别代表二叉树的先序遍历序列和后序遍历序列。每行末尾不输出额外的空格

卡了嫃久,开始自己写整整两个钟都没AC,整个人心情都不好了还是自己太菜了。参考了晴神代码点击,也算作一次总结吧!!

参考资料

 

随机推荐