自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 问答 (3)
  • 收藏
  • 关注

原创 Construct Binary Tree from Inorder and Postorder Traversal

一个老生常谈的问题;通过对后序序列进行分析就可以知道,最后一个节点作为根节点,倒数第二个子序列作右子树,最浅的一个序列作左子树,通过对后序序列寻找根节点在进行子树划分,并且通过递归再次寻找;/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left...

2018-05-27 19:24:49 151

原创 Construct Binary Tree from Preorder and Inorder Traversal

    经典问题,通过先序序列和中序序列来构造一个二叉树;    要抓住的点就是先序序列中,首元素就是需要构造树的根元素。所以采用递归的方法,判断左子树和右子树序列,然后再次递归再次判定。这次题目遇到了Runtime的问题,总的来说是只需要从preorder中找第一个节点做根节点,从inorder序列中找左右子树就可以。/** * Definition for a binary tree nod...

2018-05-27 19:13:43 182

原创 Find Duplicate Subtree——Leetcode

题目大意:    给定一个树,来寻找其相同的子树,本质上是一个遍历寻找问题。    随着做一些关于树的题目,发现树的问题离不开遍历方法。一般的遍历方法也就四种,前序、中序、后序,以及层遍历。    该题目有两种解法,其一是及进行前序遍历,进行相同子树的相同父节点判别,即如果寻找到相同的父节点,自顶向下判别子树是否相同。但是自己实验这种方法后发现时间复杂度过高。当然也可以进行树的数组化,变成一个一维...

2018-05-22 16:11:17 195

原创 Binary Tree Pruning——LeetCode

大致题目要求:    本质上就是剪枝问题,意图将每一个树上的0子树删除(节点也是子树),但是注意,父节点为0但是子节点为1的节点必须要进行保留。    其实本质上就是一个遍历问题,后序遍历可以很好的满足这个需求,即先访问子节点再访问父节点,并且根据判断来进行节点删除。    在节点删除上,往往会陷入一个泥潭,就是过度的去追求父节点的寻找,从而来利用父节点的指针来删除子节点。利用递归时,可以利用返回...

2018-05-22 15:57:12 149

原创 Huffman树

    这几天重新把Huffman树重新捡了起来,发现了以前一个从来没有注意到的点:Huffman树的结构问题。        Huffman树并不是一个单边节点很多的一个二叉树,而是一个任意结构的二叉树,其构造结果和初始的权重值很有关系,这是以前从来没注意到的。    其次,在写代码中也注意到,寻找数组中以寻求两个索引较小的值的时候,需要注意索引大小和次序上的排列,最后,遍历Hufman树并且进...

2018-05-15 08:48:02 168

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除