用嵌套列表表示的二叉树的相关操作

来源:互联网 发布:淘宝购物流程图片 编辑:程序博客网 时间:2024/06/01 20:23
#coding:utf-8__author__ = 'lv'tree = ["a",["b",["d",[],[]],["e",[],[]]],["c",["f",[],[]],["g",[],[]]]]#查找二叉树中路径最远的节点和最长路径。vertex_len = {}def dfs(tree,length):    vertex_len[tree[0]] = length    length += 1    if len(tree[1])==0 and len(tree[2])==0:       return    for child in tree:        if isinstance(child,list):            dfs(child,length)dfs(tree,0)max_len = 0ver_max_len = 0for val in vertex_len.itervalues():    ver_max_len = val if  val > ver_max_len else ver_max_lenver_max = []for key in vertex_len.iterkeys():    if vertex_len[key] == ver_max_len:        ver_max.append(key)print ver_max_lenprint ver_max


0 0
原创粉丝点击