摘要: 让我们考虑以下遍历结果: 中序序列:DBEAFC 前序序列:ABDECF 在前序序列中, 最左边的元素是树的根。对于上面给定的序列,我们知道 ‘A’ 是树的根。 然后在中序序列中找到 ‘A’ 的位置,我们发现所有位于 ‘A’ 左边的元素存在于树的左子树, 位于 ‘A’ 右边的元素存在于树的右子树。 阅读全文
posted @ 2019-03-29 16:50 XLimp 阅读(3296) 评论(0) 推荐(0) 编辑
摘要: 1.结构体内部成员函数 在 C 语言中,我们不能在结构体内部定义成员变量。但在 C++ 中,结构体不仅可以拥有成员变量,还可以拥有成员方法。 2.直接初始化 在 C 语言中,我们不能直接初始化结构体成员变量。但在 C++ 中可以这样做。 输出: 3.使用 struct 关键字 在 C 语言中,在定义 阅读全文
posted @ 2019-03-29 03:25 XLimp 阅读(815) 评论(0) 推荐(0) 编辑
摘要: 什么是结构体? 结构体是C / C ++中用户自定义的数据类型, 它可以将不同的数据类型组合在一起。 怎样创建结构体? 关键字 ‘struct’ 用来创建一个结构体。下面是一个例子。 怎样定义结构体变量? 一个结构体变量可以在创建结构体时定义,也可以像基本数据类型一样单独定义。 注意:在C ++中, 阅读全文
posted @ 2019-03-29 03:01 XLimp 阅读(458) 评论(0) 推荐(0) 编辑
摘要: sort() 是 C ++ STL 中内置函数。此函数内部使用快速排序实现,故它的复杂性是O(Nlog(N))。 sort 函数原型为 上面程序运行结果为: 默认情况下,sort()按升序对数组进行排序。 如何按降序排序? sort()接受第三个参数,用于指定元素的排序顺序。我们可以传递“great 阅读全文
posted @ 2019-03-29 01:12 XLimp 阅读(8868) 评论(0) 推荐(1) 编辑
摘要: 例如,上面这棵二叉树层次遍历结果为:1 2 3 4 5 Algorithm: 阅读全文
posted @ 2019-03-27 12:55 XLimp 阅读(3448) 评论(0) 推荐(0) 编辑
摘要: 给定二叉树(不是二叉搜索树)和两个节点n1和n2,编写程序以找到他们的最近公共祖先(Lowest Common Ancestor, LCA )。 LCA定义 最近公共祖先是两个节点所有公共祖先中离根节点最远的节点。 计算节点的最近公共祖先是很有用的。 例如,为了确定树中节点之间距离:从n1节点到n2 阅读全文
posted @ 2019-03-26 21:46 XLimp 阅读(3146) 评论(0) 推荐(1) 编辑
摘要: 沿每个节点v到根r的唯一通路上节点数目,称作v 的深度(depth),记作depth(v)。 依据深度排序,可对所有节点做分层归类。特别地,约定根节点的深度 depth(root) = 1, 故属于第1层。 树T中所有节点深度的最大值称作该树的高度(height),记作height(T)。空树的高度 阅读全文
posted @ 2019-03-26 20:07 XLimp 阅读(43768) 评论(0) 推荐(1) 编辑
摘要: 二叉树的大小是指树中存在的节点的数量。例如,下面这棵二叉树的大小是5。 我们定义 size(tree) 函数用来递归地计算二叉树 tree 的大小,它的工作原理如下 二叉树的大小 = 1 + 左子树的大小 + 右子树的大小 Algorithm: 阅读全文
posted @ 2019-03-26 19:22 XLimp 阅读(2375) 评论(0) 推荐(0) 编辑
摘要: 题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。 例如 序列1、2、3、4、5是某栈的压栈序列,序列4、5、3、2、1是该压栈序列对应的一个弹出序列,但4、3、5、1、2就不可能是该压栈序 列的弹出序列。 Hint 解决这个问题 阅读全文
posted @ 2019-03-14 20:01 XLimp 阅读(1000) 评论(0) 推荐(0) 编辑
摘要: Spring不允许将值注入静态变量,例如: 如果打印GlobalValue.DATABASE,将显示null。 解决办法 为了解决此类问题,需要创建一个“none static setter”来为静态变量赋予注入的值。 例如 : 输出 阅读全文
posted @ 2019-03-14 16:20 XLimp 阅读(610) 评论(0) 推荐(0) 编辑