由买买提看人间百态

topics

全部话题 - 话题: 二叉
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
s**a
发帖数: 131
1
Thanks.

集的一些常见二叉树面试问题(包括我亲身经历的)。多做多练习,相信你一定可以掌
握好。
left
i**********e
发帖数: 1145
2
更新:
Finding the Maximum Height of a Binary Tree
这题就是寻找二叉树的最深度,利用DFS可以轻松解决。挑战的是:如何写非递归的版
本。有两种解法,一是用BFS,解法比较直接。另一种解法是转换成非递归BFS,方法请
参考In-Order Traversal Iterative Solution.
一些常见面试题的答案与总结 -
http://www.ihas1337code.com
t*****j
发帖数: 1105
3
来自主题: JobHunting版 - 关于遍历二叉树的复杂度
对于遍历二叉树的复杂度,一直有疑问。
先根遍历应该是O(n)吧,中根和后根呢?
i******t
发帖数: 158
4
来自主题: JobHunting版 - 判断(二叉)树是否镜像对称
还是按楼主的方法,加上dummy node, 变成完全二叉树, 就可以了
K*****k
发帖数: 430
5
来自主题: JobHunting版 - 求二叉树的直径?
定义直径为连通两节点最多的边数
空树和单节点树的直径都是0
直径有可能通过根节点,也可能通过某棵子树的根节点但不通过根节点。
利用经典的求二叉树高度的递归函数,同时保持直径的最大值,就可以了么?
// The initial value of diameter is set to 0
int Depth(Node* root, int& diameter)
{
if (root == NULL)
return 0;
int LDepth = Depth(root->left, diameter);
int RDepth = Depth(root->right, diameter);
if (LDepth + RDepth > diameter)
diameter = LDepth + RDepth;
return max(LDepth + 1, RDepth + 1);
}
S******t
发帖数: 151
6
我给的那个方法是对二叉树找祖先的 -0-
c***g
发帖数: 472
7
来自主题: JobHunting版 - 问一个构建二叉树的问题
给定一个inorder和preorder构建一颗二叉树
如果,这里面有duplicated的元素,请问如何做?还是根本做不了? 因为你无法在
inorder里面判断哪个是左树还是右树啊
L***Q
发帖数: 508
8
来自主题: JobHunting版 - 问一个构建二叉树的问题
如果有duplicate,应该是无法唯一确定。一个三个node的例子:3 3 3.前序中序都这
结果,可以有好几种二叉树。
c***g
发帖数: 472
9
来自主题: JobHunting版 - 问一个构建二叉树的问题
给定一个inorder和preorder构建一颗二叉树
如果,这里面有duplicated的元素,请问如何做?还是根本做不了? 因为你无法在
inorder里面判断哪个是左树还是右树啊
L***Q
发帖数: 508
10
来自主题: JobHunting版 - 问一个构建二叉树的问题
如果有duplicate,应该是无法唯一确定。一个三个node的例子:3 3 3.前序中序都这
结果,可以有好几种二叉树。
h*****g
发帖数: 312
11
来自主题: JobHunting版 - 用BFS 和 inorder 重构二叉树?
7
/ \
8 9
\ / \
5 4 6
inorder: 857496
BFS: 789645
如何 重构这个二叉树,然后求树的宽度(哪一层node最多?)
k*******r
发帖数: 355
12
来自主题: JobHunting版 - 找二叉树 两个最大的相同子树
找二叉树 两个最大的相同子树,这个怎么做
s*******n
发帖数: 97
13
来自主题: JobHunting版 - 找二叉树 两个最大的相同子树
lz意思是只有再一颗二叉树中找吧?
p********n
发帖数: 20
14
来自主题: JobHunting版 - 找二叉树 两个最大的相同子树
对二叉树进行DFS,将遍历过程中遇到的节点按顺序记下,得到一个长度为2N-1的节点
序列,就是欧拉序列。
K*********n
发帖数: 2852
15
来自主题: JobHunting版 - 问个二叉树删除结点的问题
就是,不会考这种问题是吧。好久不复习数据结构,今天写一个非BST的二叉树,写着写
着就遇到这个问题了,手生,莫笑哈。
c********t
发帖数: 5706
16
来自主题: JobHunting版 - 求二叉树最大路径和的变体题
响应号召,发中文题
二叉树求两结点间最大路径问题已经有很好解法。
现在有一个变体题,两点间最大路径必须要加上共同祖先到root这段。
比如:
3
/
4
/ \
1 2
结果为10
请问有什么好的解法?
我有一个笨解法,指数时间复杂度,为了不影响大家做题,会在跟帖贴出。
r*****e
发帖数: 146
17
二叉查找树中两个节点被错误的交换了,如何有效找出他们。有没有比较neat的解法?
谢谢
h****n
发帖数: 1093
18
inorder travese即可找第一个不对路和最后一个不对路的交换即可

二叉查找树中两个节点被错误的交换了,如何有效找出他们。有没有比较neat的解法?
谢谢
★ Sent from iPhone App: iReader Mitbbs Lite 7.56
r*****e
发帖数: 146
19
来自主题: JobHunting版 - 如何随机找二叉树中的任意节点?
如何随机找二叉树中的任意节点? 谢谢!
g****y
发帖数: 240
20
来自主题: JobHunting版 - 如何随机找二叉树中的任意节点?
是给一个值找一个节点,还是说随机返回二叉树中的一个节点?
g****u
发帖数: 252
21
来自主题: JobHunting版 - 一道二叉树的题
我觉得你的算法是对的. 一个小优化是找两个subarray的分界点可以用二分查找. 但是
在递归过程中必须维护当前子树的值的上下界,一旦越界就报错. 我觉得不值得这么折
腾.
还有一个办法就是反向读数组, 然后重建BST. 每读一个数都应该可以找到二叉树中唯
一插入的位置, 如果找不到的话就报错. 但是找插入位置的过程的复杂度至少是树的高
度,也就是O(log N), 所以总体还是O(N logN), 实现的复杂度就差多了.
r**h
发帖数: 1288
22
我猜lz想问的是二叉树使用stack/循环的pre-order traversal的实现?
x********9
发帖数: 7
23
来自主题: JobHunting版 - 问一个二叉树面试问题
要求要数组 实现二叉树 and implement following methods:
set(K, V)
get(K)
求教各位高手
t**********r
发帖数: 2153
24
来自主题: JobHunting版 - 问一个二叉树面试问题
就是用数组存二叉树
w****r
发帖数: 15252
25
来自主题: JobHunting版 - 平衡二叉树的平衡是指什么
叶子都在一层上面就叫做平衡二叉树
p***y
发帖数: 637
26
cc150说不用背平衡二叉树。。看来时代变了
p**t
发帖数: 157
27
不会用栈遍历二叉树的 你让他用栈做DFS不是更不会。。。
N*****m
发帖数: 42603
28
来自主题: JobHunting版 - Re: 我x,海关问二叉树的是真的
【 以下文字转载自 Joke 讨论区 】
发信人: zhanglaosan (张老三), 信区: Joke
标 题: Re: 我x,海关问二叉树的是真的
发信站: BBS 未名空间站 (Wed Mar 1 17:16:00 2017, 美东)
http://mashable.com/2017/02/28/software-engineer-jfk-detained-questioning/?utm_cid=mash-com-fb-main-link#Zr2ZscMw_5q6
j***a
发帖数: 1100
29
来自主题: JobHunting版 - Re: 我x,海关问二叉树的是真的
平衡二叉树有很多种方法吧。
最简单的应该是avl 树。
d**********1
发帖数: 569
30
来自主题: WaterWorld版 - 借人气问问,C++二叉树
有,但是实现起来效率不高且麻烦。
C/C++的优点之一就是运行的速度和算法效率,所以有相当一部分人用C++就是为了算法
和速度,用算法的人多了,所以愿意讨论和实现的人就多了。
Basic PHP Python ...的和C++比起来,特点是入门容易,开发速度快,管理起来(相
对)简单。所以同时要用到这些语言和二叉树检索的机会太少了,用的少,基本也就没
人讨论了。

FORTRAN
c*********7
发帖数: 19373
31
来自主题: WaterWorld版 - 借人气问问,C++二叉树
二叉树是算法吧,这个跟语言没关系。
z*****a
发帖数: 9790
32
来自主题: WaterWorld版 - 借人气问问,C++二叉树
二叉树是一种数据结构,理论上任何编程语言都可以实现,只不过c/c++的指针实现起
来效率高

FORTRAN
c****p
发帖数: 6474
33
来自主题: WaterWorld版 - 借人气问问,C++二叉树
你说的应该是二叉搜索树BST。
有些数据结构的底层实现实际上是用BST及其变种实现的,你没有直观地看到BST而已。
就我所知,C++里面的set是用红黑树(平衡BST)实现的。

FORTRAN
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)