算法笔记
MUIXIXI
这个作者很懒,什么都没留下…
展开
-
树:由两种遍历结构推出二叉树结构
树结构/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */1.已知前序与中序遍历序列构造二叉树class Solution {private: unor.原创 2020-09-06 20:21:43 · 191 阅读 · 0 评论 -
Morris遍历(c++)
Morris遍历Morris遍历是二叉树遍历的一种特殊方法,此方法可以将空间复杂度降为O(1),时间复杂度为O(n)。Morris实现步骤假设当前遍历到的节点为x 1.如果x无左孩子,则访问x的右孩子,即x = x.right。 2.如果x有左孩子,则找到x左子树上最右的节点(即x在中序遍历中的前驱节点), 我们记为predecesso。根据predecessor的右孩子是否为空,进行如下操作: · 如果predecessor 的右孩子为空,则将其右孩子指向 x,然后访问 x 的左孩子,即 x原创 2020-09-05 20:31:02 · 284 阅读 · 0 评论