查找2个分支的共同父节点

1.使用命令来直接查找

假设有分支A和分支B,那么使用以下命令    【http://stackoverflow.com/questions/1549146/find-common-ancestor-of-two-branches

git merge-base A B

就可以查看这2个分支的共同父节点

 

现在有chucklu_zhCN分支以及master分支

$ git merge-base chucklu_zhCN master
4e67f05995b7d615fce1e97f18deb000d367a6f9

 

$ git show 4e67f05
commit 4e67f05995b7d615fce1e97f18deb000d367a6f9
Merge: 6d0e241 1583a81
Author: ChuckLu <邮箱>
Date: Wed Sep 2 09:15:08 2015 +0800

Merge branch 'epix37/master' into chucklu/master

 

 

 2.使用gitk -all 用肉眼直接查看

 

 

 

 

 

 

 

 

 

 

需要注意的是,要查找的2个分支处于未合并的状态才有意义

否则A和B分支,假如A分支已经合并了B分支。那么这个父节点的查找就没有意义

父节点肯定是B分支的最后一次提交

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在二叉排序树中,可以通过查找子节点的值来找到父节点。具体步骤如下: 1. 从根节点开始,将要查找的值与当前节点的值进行比较。 2. 如果要查找的值等于当前节点的值,则当前节点就是要找的节点的父节点。 3. 如果要查找的值小于当前节点的值,并且当前节点有左子节点,则将当前节点的左子节点作为新的当前节点,重复步骤1。 4. 如果要查找的值大于当前节点的值,并且当前节点有右子节点,则将当前节点的右子节点作为新的当前节点,重复步骤1。 5. 如果要查找的值小于当前节点的值,并且当前节点没有左子节点,则说明要查找的值不存在于二叉排序树中。 6. 如果要查找的值大于当前节点的值,并且当前节点没有右子节点,则说明要查找的值不存在于二叉排序树中。 下面是一个示例代码,演示了如何查找二叉排序树的父节点: ```python class TreeNode: def __init__(self, value): self.value = value self.left = None self.right = None def find_parent(root, value): if root is None: return None if (root.left and root.left.value == value) or (root.right and root.right.value == value): return root if value < root.value: return find_parent(root.left, value) else: return find_parent(root.right, value) # 创建一个二叉排序树 root = TreeNode(5) root.left = TreeNode(3) root.right = TreeNode(7) root.left.left = TreeNode(2) root.left.right = TreeNode(4) root.right.left = TreeNode(6) root.right.right = TreeNode(8) # 查找节点值为4的父节点 parent = find_parent(root, 4) if parent: print("Parent node value:", parent.value) else: print("Node not found") # 查找节点值为9的父节点 parent = find_parent(root, 9) if parent: print("Parent node value:", parent.value) else: print("Node not found") ``` 输出结果: ``` Parent node value: 3 Node not found ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值