- 博客(2)
- 收藏
- 关注
原创 二叉树非递归遍历(前中后层次)
二叉树非递归遍历#include <iostream>#include <vector>#include <stack>#include <queue>using namespace std;struct TreeNode{ int val; TreeNode *lchild; TreeNode *rchild;};void insert(TreeNode *p, vector<int> temp,
2020-08-29 16:47:09 134
原创 二叉树O(1)空间复杂度前序遍历
二叉树O(1)空间复杂度前序遍历简介思路代码简介二叉树的遍历分为递归方式和非递归方式。递归方式的空间复杂度为O(log(n))。非递归方式中,通常用栈的方式,其空间复杂度为O(h),其中h为树的高度。下面介绍一种空间复杂度为O(1)的前序遍历。思路既然是O(1)的空间复杂度,那就不能像传统方式将节点指针存入栈中,而是通过一个标志变量,来记录进入当前节点时,是从什么地方来的。通过设置sign位的值来表示如何进入的这个节点,0代表从父节点进入,1代表从左子节点返回,2代表从右子节点返回代码#
2020-08-21 15:26:37 1348
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人