1. 二叉查找树是数据结构中一个非常重要的内容。因为它的查找复杂度(包括插入和删除)都达到了O(logn)的级别。每一次的迭代,都能够减少一半的查找数据量。然而,如果每个节点都只有一个孩子的话,查找复杂度就变成了O(n),因为此时实际上二叉查找树已经变成了一个链表。
2. 堆其实也是树的一种。堆最大的优点就是可以在常量时间里得到最大或者最小值。
删除和插入的复杂度是O(log(n)),但是查找的复杂度增加到了O(n)。
3. BFS要远远优于DFS。
BFS的主要问题是,它需要存储每个节点的孩子,所以消耗过多的空间。
DFS更适用于查找一些层次比较深的元素。