Skip to main content
 首页 » 编程设计

python之如何在 python 中表示二叉树

2025年05月04日17cyq1162

目前我用以下方式表示二叉树:

[None,2,[None,3,None]] 

上面的树以 2 为根。None 表示该分支为空。

我宁愿在列表中实现它。 有没有更好的方法来做到这一点(无需求助于创建类)?

请您参考如下方法:

如果你想表示一个完整的二叉树(即所有节点都有两个子节点,叶子除外),那么你可以只使用一个平面列表来表示树。

你可以像这样轻松地确定一个节点的父亲和两个 child :

def leftChild(lst,i): 
  try:  
    return lst[i*2] 
  except IndexError: 
    return None 
 
def rightChild(lst,i): 
  try:  
    return lst[i*2+1] 
  except IndexError: 
    return None 
 
def father(lst,i): 
  try: 
    return lst[i/2] 
  except IndexError: 
    return None