嗨,我有点困惑这棵树,需要帮助,以确定我是否选择了正确的答案。
树:
A
/ \
B C
/ \
D E
让我们先进行遍历:
顺序: BADCE
预定: ABCDE
邮购: BDECA
问题:
下列哪一条导线产生BADEC?
只在b级订单c.仅后订单d.只订购前订单e.预先订单和等级订单f.顺序和等级订单g.
回答g
以下哪一项是BST的后续遍历?a. ACEDB b. ABDCE c. BDECA d. EDCBA e. BADCE f. BADEC g.
回答g
请有人确认我是否正确地进行了遍历,并为这两个问题选择了正确的答案。
谢谢
我真的很困惑在binary tree中找到一个元素。
问题:当我们说,在二叉树中搜索一个元素,在这种情况下是最大的,我们假设树是排序的吗?
如果不是,请看下面的代码,我是从一本书中得到的,几乎每个在线url都在建议类似的模式。
int FindMaxNmb(BinaryTreeNode root)
{
int root_val,left,right,max;
if(root!=null)
{
root_val = root.getData();
//recursion - this is
我知道BST (二叉树)的顺序遍历并不是唯一的。例如 in-order traversal = [a, b, c] where a < b < c
1) b
/ \
a c
2) a
\
b
\
c
Two different BSTs output same in-order traversal array. 我不确定这对于后序遍历还是前序遍历是正确的-我找不到反例。前序遍历还是后序遍历唯一表示BST?
我需要帮助理解这个面试问题:
Q:在二进制搜索树中查找一个算法来查找给定节点的下一个节点(例如顺序后继),其中每个节点都有到其父节点的链接。
父是指有序的前身,还是指直接的父?如何创建一个树,其中的节点有一个链接到根节点或无序的前身?如能帮助了解以下数据结构和程序,将不胜感激.
解决方案(以表格形式公布)如下:
public static TreeNode inorderSucc(TreeNode e) {
if (e != null) {
TreeNode p;
// Found right children -> return 1st inorder
我试图了解递归是如何工作的,遍历二叉树是如何工作的。
据我所知,递归是在它里面调用一个函数。有点像循环。
现在,我得到了关于如何在二叉树上执行postOrder遍历的代码。
(请注意,这不是我的代码,我只是想了解递归是如何通过这段代码工作的)
# Definition for a binary tree node
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class So
在理解这个片段的核心方面,我遇到了一些实际的困难,尽管它看起来非常简单和简单。给定一个简单的二叉树,这个著名的函数会产生同一棵树的镜像结果。
void mirror(struct node* node) {
if (node==NULL) {
return;
}
else {
struct node* temp;
// do the subtrees
mirror(node->left); //this part confuses me
mirror(node->right); //so does this
// s