数据结构-树-二叉树-1
来源:互联网 发布:小米盒子 破解软件 编辑:程序博客网 时间:2024/05/22 14:33
层次关系
查找:
1静态查找
A二分查找
元素满足
a有序
b连续存放在数组中
时间复杂度O(logN)
二分查找判定树:
1判定树上每个结点需要的查找次数刚好为该结点所在的层数。
2查找次数不会超过树的深度
3n个结点判定树的深度为log(2)n+1。
树:
n个结点,n=0空树。
根Root相对的
子树SubTree相对的
子树为互不相交的有限集……
除了根结点外,每个结点有且仅有一个父节点
一颗N个结点的树有N-1条边
树的定义是以递归的方式定义的。
树的基本术语
a结点的度(Degree):结点的子树个数
b树的度:树的所有结点中最大的度数
c叶结点(Leaf):度为0的结点
d父结点(Parent):有子树的结点是其子树根结点的父结点
e子节点(Child):若A结点是B结点的父结点,则B结点是A结点的子结点。
f兄弟结点(Sibling):具有同父结点的子节点互为兄弟结点。
g路径和路径长度
h祖先结点
i子孙结点
j结点的层次
k树的高度
树的表示
a儿子-兄弟表示法
即二叉树,度为2的树。
二叉树:
性质:
A二叉树第i层的最大结点数为:2^(i-1),i>=1。
B深度为k的二叉树有最大结点总数为:2^(k)-1,k>=1。
C n0=n2+1
存储结构:
1顺序存储结构
用完全二叉树或者填充从完全二叉树
2链表存储
。
二叉树的遍历:
1先序遍历:
A访问根结点
B先序历遍其左子树
C先序历遍其右子树
三种历遍过程路线是一样的,只是访问结点的时机不同。
二叉树的非递归遍历:
特别的是“堆栈实现后序遍历的非递归程序”
查到三种方法:穷极构建两次访问;重视压栈次序;反向思维。
二叉树的核心问题:二维结构的线性化
使用队列进行“层序”遍历
二元运算表达式树及其遍历
先序、中序、后序遍历分别得到前缀、中缀、后缀表达式。
0 0
- 数据结构--二叉树(1)
- 数据结构-树-二叉树-1
- 二叉树(数据结构1)
- 数据结构-二叉树(1)
- 《数据结构实验1》--二叉树
- 数据结构---二叉树(1)
- 数据结构-树-二叉树
- 数据结构::树,二叉树
- 数据结构-二叉树
- 二叉树的数据结构
- 数据结构-二叉树算法
- java数据结构:二叉树
- 数据结构---二叉树
- 数据结构(C++)--二叉树
- JAVA 数据结构 二叉树
- 数据结构-二叉树 问题
- 转贴:数据结构:二叉树
- 二叉树(数据结构 c++)
- UFT12.02自动延期
- 黑马程序员关于进程和线程的认知
- 导入CocoStudio到项目工程的方法(3.0)
- 小兔的棋盘
- 计算机网络原理之PPP协议
- 数据结构-树-二叉树-1
- 可任意操作nf_conntrack的nf_sockopt_ops
- hdoj 1312 Red and Black (DFS)
- HTML5 的拖放学习笔记
- 打造史上最容易使用的Tab指示符——Indicator
- 简洁常用权限系统的设计与实现(三):维护和利用节点的深度level,迭代实现树的构造
- 事务隔离级别
- Ubuntu的防火墙配置
- IO--BufferedReader及其子类LineNumberReader