数据结构
HnuWyd
这个作者很懒,什么都没留下…
展开
-
二叉树总结(创建二叉树)
二叉树总结(创建二叉树) 根据前序遍历和中序遍历创建二叉树(注意根据前、中、后序列创建唯一二叉树的时候,一定要有两个遍历序列,且其中一个必须为中序。 我们先定义二叉树的节点结构,一般包含左孩子,右孩子,键值等参数信息。 /** * 二叉树节点结构 */ class TreeNode{ int val; //节点值 TreeNode left; //左孩子 ...原创 2018-04-01 21:03:49 · 778 阅读 · 0 评论 -
二叉树总结(遍历二叉树)
二叉树总结(遍历二叉树) 一、前序遍历(递归方式) /** * 递归方式前序遍历 * @param headNode 二叉树的头结点 */ public void preErgodicBinaryTree(CreateBinaryTree.TreeNode headNode){ if (headNode==null){ return; } ...原创 2018-04-01 21:12:35 · 868 阅读 · 0 评论 -
二叉树总结(序列化与反序列化)
二叉树总结(序列化与反序列化) 序列化(以先序为例,中序后序同理) /** * 序列化二叉树(先序为例) * 1、假设序列结果为字符串str,初始化str为""; * 2、先序遍历二叉树,如果遇到空节点,在str后面加上“#!” * “#”不是节点为空,“!”表示一个节点值的结束。不加结 * 束符号,可能根据序列化字符串产生多颗树,存在歧义。 * 3、如果遇到非空节点,假设节点...原创 2018-04-01 21:19:34 · 1132 阅读 · 0 评论