树与图简单剖析

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

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

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

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

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

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


图比树要更复杂。一般遍历图有两种思路:广度优先搜索(BFS)和深度优先搜索(DFS)。
广度优先搜索(BFS)和深度优先搜索(DFS)通常用于不同的场景,如要访问图中的所有结点,或者访问最少的节点,DFS一般最为简单。不过如果一棵树的规模非常大,在离最初结点太远时想要随时退出的话可能会有问题;我们可能搜索了该节结点的成千上万个祖先结点,却还未搜索到该节点的全部子节点。对于这种情况一般首选BFS。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值