二叉树
yinizhizhu
Fly OS.
展开
-
线索二叉树
线索二叉树概念遍历二叉树就是以一定规则将二叉树中的节点排列成一个线性序列,从而得到二叉树节点的各种遍历序列。其实质就是对一个非线性序列进行线性化操作,使得在这个访问序列中每一个节点(除第一个和最后一个)都有一个直接前驱和直接后继。传统链式存储能体现父子关系,不能直接得到节点在遍历中的前驱和后继。通过观察,我们发现在二叉树表示的二叉树中存在大量的空指针,若利用这些空链域指向其直接前驱或直接后继的指针,原创 2016-12-29 10:50:01 · 2045 阅读 · 0 评论 -
二叉树后序遍历的非递归实现
目录目录算法思想算法实现算法思想因为后序非递归遍历二叉树的顺序是先访问左子树,再访问右子树,最后访问根节点。当用堆栈来存储节点,必须分清返回根节点时,是从左子树返回的,还从右子树返回的。所以,使用辅助指针r,其指向最近访问过的节点。也可以在节点中增加一个标志域,记录是否已被访问。算法实现//strcut TreeNode {// ElemType data;// TreeNode *le原创 2016-12-29 11:08:43 · 24582 阅读 · 13 评论 -
树、森林转化为二叉树
目录目录树转换为二叉树的画法森林转换为二叉树的画法树转换为二叉树的画法1.在兄弟节点之间加一连线;2.对每一个节点,只保留它与第一个子节点的连线,与其他自己节点的连线全部抹掉;3.以树根为轴心,顺时针旋转45度。森林转换为二叉树的画法1.将森林中的没课树转换成相应的二叉树;2.将每棵树的根相连;3.以第一棵树的根为轴心顺时针旋转45度。原创 2016-12-29 12:12:34 · 7017 阅读 · 2 评论