《面试》---Python 实现二叉树结构以及相关遍历
来源:互联网 发布:佐治亚南方大学 知乎 编辑:程序博客网 时间:2024/05/16 11:15
第一部分
手动二叉树的构建
构建二叉树
a
b c
d f e
实际上是一个list
[a,[b,[d,[],[]],[f,[],[]]],[c,[],[e,[],[]]]]
# 构建根节点def BinaryTree(item): return [item,[],[]]# 访问左右子数def getLeftChild(tree): return tree[1]def getRightChild(tree): return tree[2]# 插入左子树def insertLeft(tree,item): leftSubtree = tree.pop(1) # pop() 函数是 对原list去掉这个值,但是这个可以理解为取值 if leftSubtree: # 如果原左子树节点存在的话,则插入节点,原节点,[] tree.insert(1,[item,leftSubtree,[]]) else: # 如果原左子树节点不存在的话,直接把节点当做节点插入 item,[],[] tree.insert(1,[item,[],[]]) return tree# 插入右子树 同理左子树def insertRight(tree,item): rightSubtree=tree.pop(2) if rightSubtree: tree.insert(2,[item,[],rightSubtree]) else: tree.insert(2,[item,[],[]]) return tree# 根节点tree=BinaryTree('a')# 第一层insertLeft(tree,'b')insertRight(tree,'c')# 第二层insertLeft(getLeftChild(tree),'d')insertRight(getLeftChild(tree),'e')insertRight(getRightChild(tree),'f')print tree
阅读全文
0 0
- 《面试》---Python 实现二叉树结构以及相关遍历
- python实现二叉树,以及二叉树的遍历
- 二叉树的遍历以及重建(Python实现)
- 「数据结构」二叉树的遍历以及Python实现
- 二叉树遍历以及相关特性
- python实现二叉树遍历
- python实现二叉树以及二叉树的遍历--1(函数实现)
- python实现二叉树以及二叉树的遍历--1(面向对象的方法实现)
- Java 二叉树的实现以及遍历
- 【面试】基于二叉树层次遍历相关问题的求解
- 二叉树遍历相关
- 二叉树的遍历(python实现)
- 二叉树递归遍历的python实现
- 二叉树与遍历的Python实现
- python实现二叉树的遍历
- Python实现二叉树及遍历方法
- python实现二叉树的遍历
- Python 实现二叉树相关操作
- 各种数据库的jdbc驱动下载及连接方式
- 从 0 到 300,Instagram 创始人 CTO 分享工程团队成长的经验 翻译 2017年10月11日 08:50:48 标签:instagram 5856 最初,Instagram 被 Fac
- 计算机网络 学习摘要(1)
- 跳石头
- 数组在内存中的存储
- 《面试》---Python 实现二叉树结构以及相关遍历
- 关于89C52单片机11.0592M晶振产生115200波特率的方法
- YaHoo!(雅虎)创始人之一 ——— 杨致远
- OpenGL VBO, PBO与FBO
- Codeforces Round #441 (Div. 2)A. Trip For Meal模拟水题
- 文章标题
- HTTP协议详解
- Hibernate使用持久化注解实现多对一映射
- assert and const