您的位置:首页 > 其它

树与图简单剖析

2016-04-04 17:41 155 查看


二叉树和二叉查找树:

二叉查找树附加如下条件:对于任意节点,左子节点小于等于当前节点,当前节点又小于所有右子节点。

平衡与不平衡:

许多树都是平衡的,但并非全部如此。如果树是不平衡的,应当从平均情况和最坏情况所需的时间来描述算法。注意,平衡一棵树只意味着子树的深度差不会超过一定值,并不表示左子树和右子树的深度完全相同。

完满和完整:

完满和完整树的所有叶节点都在树的底部,所有非叶节点都有两个子节点,注意,完满和完整的树极少,因为这棵树必须正好有2的n次方-1个节点才满足这个条件。

二叉树遍历:

分为中序,后序,前序三种遍历方式。其中最常见的是中序遍历,先遍历左子树,然后访问当前节点,最后遍历右子树。

树的平衡(红黑树和平衡二叉)

单词查找树(trie):

trie树是n层数的一种变体,其中每个节点存储有字符。整棵树的每条路径自上而下表示一个单词。一颗简单的单词查找树如下图:





图比树要更复杂。一般遍历图有两种思路:广度优先搜索(BFS)和深度优先搜索(DFS)。

广度优先搜索(BFS)和深度优先搜索(DFS)通常用于不同的场景,如要访问图中的所有结点,或者访问最少的节点,DFS一般最为简单。不过如果一棵树的规模非常大,在离最初结点太远时想要随时退出的话可能会有问题;我们可能搜索了该节结点的成千上万个祖先结点,却还未搜索到该节点的全部子节点。对于这种情况一般首选BFS。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: