二叉树 Binary Tree
来源:互联网 发布:情趣女王魏道道淘宝 编辑:程序博客网 时间:2024/05/16 06:14
在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。
Complete Binary Tree Full Binary Tree 总节点k < k < k = 树高h h = h =
树和二叉树的三个主要差别:
- 树的结点个数至少为1,而二叉树的结点个数可以为0;
- 树中结点的最大度数没有限制,而二叉树结点的最大度数为2;
- 树的结点无左、右之分,而二叉树的结点有左、右之分。
<完全二叉树和满二叉树>
- 满二叉树:一棵深度为k,且有个节点成为满二叉树
- 完全二叉树:深度为k,有n个节点的二叉树,当且仅当其每一个节点都与深度为k的满二叉树中序号为1至n的节点对应时,称之为完全二叉树
前(先)序、中序、后序遍历
遍历二叉树:L、D、R分别表示遍历左子树、访问根结点和遍历右子树,则先(根)序遍历二叉树的顺序是DLR,中(根)序遍历二叉树的顺序是LDR,后(根)序遍历二叉树的顺序是LRD。还有按层遍历二叉树。这些方法的时间复杂度都是O(n),n为结点个数。
用二叉树表示下述表达式:a+b*(c-d)-e/f
- 先序遍历的串行是:-+a*b-cd/ef
- 中序遍历的串行是:a+b*c-d-e/f
- 后序遍历的串行是:abcd-*+ef/-
深度优先遍历
在深度优先级中,我们希望从根结点访问最远的结点。和图的深度优先搜索不同的是,不需记住访问过的每一个结点,因为树中不会有环。前序,中序和后序遍历都是深度优先遍历的特例。参见深度优先搜索。
广度优先遍历
和深度优先遍历不同,广度优先遍历会先访问离根节点最近的节点。参见广度优先搜索。 二叉树的广度优先遍历又称按层次遍历。算法借助队列实现。
- 二叉树Binary Tree
- 二叉树 Binary Tree
- Binary tree,二叉树
- 二叉树(Binary Tree)
- Binary Tree 二叉树
- 二叉树(binary tree)
- C++ Binary Tree(二叉树)
- Binary Tree 二叉树 160406
- 二叉树(Binary Tree)
- 数据结构-二叉树(Binary Tree)
- (轴对称二叉树)Binary Tree
- 二叉树(binary tree)
- Tree(2)--二叉树(Binary Tree)
- 【tree 反转二叉树 inverse binary tree】
- 二叉树详解 binary tree && binary search tree
- 二叉树详解 binary tree && binary search tree
- 【算法总结】Binary Tree & Binary Search Tree 二叉树
- binary search tree 二叉搜索树
- IoC/DIP其实是一种管理思想
- 堆排序(Heapsort)
- eclipse使用小技巧集合
- Linux内核分析 - 网络[四补]:路由表补充
- 鸡尾酒排序,也就是定向冒泡排序, 鸡尾酒搅拌排序, 搅拌排序
- 二叉树 Binary Tree
- PHP 日期处理
- 基于百度地图API的WinForm地图
- 树的遍历 Tranversal
- 一个弹出模态窗口的例子
- Android多媒体之录制
- 二叉查找树(Binary Search Tree)
- test
- AVL树