二叉树
来源:互联网 发布:udp端口号可用范围 编辑:程序博客网 时间:2024/06/01 09:11
二叉树(binary tree)每个节点都不能有对于两个的儿子。二叉树平均深度为;对于二叉查找树,其深度平均值是;
1.实现
二叉树节点最多有两个子节点,所以可以保存直接链接到它们的链(树的话子节点个数不确定,保存所有到子节点的直接链接不可行)。
二叉树节点类,元素(element)信息加上两个到其他节点的引用(left和right):
class BinaryNode{ Object element; BinaryNode left; BinaryNode right;}
2.表达式树
表达式树树叶是操作数,其他节点是操作符,如下图所示:
中序遍历:递归打印左子树,再打印根,再打印右子树。
后序遍历:递归打印左子树、右子树,然后打印根节点,得到的表达式为后缀表示法表示abc*+de*f+g*+。
前序遍历:先打印根节点,在递归打印右子树和左子树,得到的表达式为前缀表示法表示++a*bc*+*defg。
构造表达式树:把后缀表达式转变成表达式树
一次一个符号读入表达式;
如果符号是操作数,那么建立一个单节点树并将它存入栈中;
如果符号是操作符,那么就从栈中弹出两棵树T1和T2并形成一棵新的树(T1先弹出),该树的根是操作符,它的左右儿子分别是T2和T1,然后将这课树压入栈中。
阅读全文
0 0
- 二叉树、二叉堆
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 趣图:印度大学生的编程水平如何
- 1682亿背后丨一分钟看懂天猫双11
- Magento获取商品图片(getImage)的方法
- Python的变量以及Python的除法
- Qt modbus_client(TCP、信号、槽、字符编码)
- 二叉树
- 机器学习实践指南
- jsp学生信息管理系统(一)
- long longlong short int 的区别
- 理解dropout
- XML系统学习
- 希尔排序
- windows2008 dns排错分析-dns+vpn
- js——定时器