【问题标题】:Best traversal to create a mirror image of binary tree?创建二叉树镜像的最佳遍历?
【发布时间】:2014-02-13 15:04:55
【问题描述】:

我有一个面试问题。 以下哪项最适合创建二叉树的镜像? 1.有序 2. 后购 3. 预购 4. 等级顺序。

谁能解释一下将使用哪一个以及为什么?

【问题讨论】:

  • 带有否定比较器逻辑的预购应该可以做到。 (诚​​然,那是即兴表演,但这似乎是有道理的)。这假设树不是自平衡的。

标签: algorithm tree binary-tree


【解决方案1】:

我认为preorder 是创建镜像的最佳方式:-

node* preorder(node* p) {

  if(p==null) {
       return(null);
  }  

  node* n = create(p->data);
  n->left = preorder(n->right);
  n->right = preorder(n->left);

  return(n);

}

【讨论】:

  • 前序遍历提供了二叉树的插入序列,因此它是复制倒一的正确方法...
猜你喜欢
  • 2012-01-01
  • 2022-11-11
  • 1970-01-01
  • 2016-02-03
  • 1970-01-01
  • 1970-01-01
  • 2021-11-20
  • 1970-01-01
相关资源
最近更新 更多