二叉树的重建几乎所有的人都知道二叉树可以根据前序遍历+中序遍历或者后序遍历+中序遍历的方式重新建立原来的二叉树,并且结果是唯一的。下面就来看一下相关的方法。前序+中序重建二叉树给定一棵二叉树的前序和中序遍历序列,重新建立这棵二叉树。注意:在前序中确定了根节点以后,要去中序里面查找这个根节点,这时的查...
分类:
其他好文 时间:
2015-08-29 16:38:27
阅读次数:
189
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。后序遍历,根在最后。前半部分为左子树,全部小于根,之后进入右子树,均大于等于根,若在右子树中出现小于根的,则肯定不是后序遍历。 1 class Solution ...
分类:
其他好文 时间:
2015-08-28 00:38:07
阅读次数:
250
这道题之前算法课上好像遇到过,思路也很简单的。思路:后序序列的最后一个元素就是树根,然后在中序序列中找到这个元素(由于题目保证没有相同的元素,因此可以唯一找到),中序序列中这个元素的左边就是左子树的中序,右边就是右子树的中序,然后根据刚才中序序列中左右子树的元素个数可以在后序序列中找到左右子树的后序...
分类:
编程语言 时间:
2015-08-26 22:13:40
阅读次数:
243
满二叉树:节点数为2的指数次个数的二叉树完全二叉树:节点与满二叉树一一对应的二叉树。满二叉树是完全二叉树的一种。树的遍历:前序遍历、中序遍历、后序遍历,它们访问节点的顺序不同。1前序 :访问节点、左孩子,右孩子2中序 :左孩子,访问节点,右孩子3后序 :左孩子,右孩子,访问节点由遍历序号确定二叉树:...
分类:
其他好文 时间:
2015-08-21 21:14:55
阅读次数:
192
对于一种数据结构而言,遍历是常见操作。二叉树是一种基本的数据结构,是一种每个节点的儿子数目都不多于2的树。二叉树的节点声明如下:1 typedef struct TreeNode *PtrToNode;2 typedef struct TreeNode *BinTree;3 4 struct T.....
分类:
其他好文 时间:
2015-08-21 19:28:37
阅读次数:
223
【144-Binary Tree Postorder Traversal(二叉树非递归后序遍历)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题 Given a binary tree, return the postorder traversal of its nodes’ values.
For example:
Given binary tree {1,...
分类:
编程语言 时间:
2015-08-19 08:15:55
阅读次数:
207
接着上一篇 二叉树的先序-中序-后序遍历(一)-递归 的讲,这篇该循环遍历了。
之前一直没有找到好的方法来循环遍历树,以前我老认为有些递归的能做的东西很难换成循环实现。
后来看了一些别人写的代码,然后又问了朋友,才发现。。。哦,原来这样的啊,我可以自己弄个栈来维护一下。
想到了可以弄个栈以后,至少在我认为,把递归转成循环已经是可行的了,至于怎么实现,这几天在想(因为太笨,看人家的代码...
分类:
其他好文 时间:
2015-08-19 00:41:51
阅读次数:
154
二叉搜索树:二叉搜索树根节点的左边都比根节点小,右边都比根节点大。例题:输入一个数组,判断是否为二叉搜索树的后序遍历序列,如果是,返回true,如果不是,返回flase,假设没有重复的元素。思路:由于是后序遍历,所以数组的最后一个节点是根节点,而且,由于是二叉收索树,所以,前面的数据被分为两部分,右...
分类:
编程语言 时间:
2015-08-18 13:51:27
阅读次数:
136
冒泡排序是交换排序的一种,其思想是从序列头部开始逐步往后遍历,每次遍历比较相邻两个元素,如果顺序不对则交换,n-1次遍历之后序列就完成了排序。...
分类:
编程语言 时间:
2015-08-18 11:54:34
阅读次数:
397
前几天上网,收集了20多道Python练习题。这些练习题还是很有价值的,正好最近忙着复习准备校招,可以用来练手。我会把每道题都写一篇博客详细阐述解题思路和源代码,在每道题目后面附上博客地址。希望大家对我的代码能给予指正,我们共同努力,共同进步。后序有好的题目或者解题思路,我还会在这篇博客后面追加。
第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那...
分类:
编程语言 时间:
2015-08-18 10:22:24
阅读次数:
195