静态查找:要找的集合的元素是不动的,主要是find操作,没有delete操作
动态查找:要查找的集合会经常发生插入删除的操作
静态查找的一个很好的方法就是二分查找
把数据直接放在树上
结点右子树的值>结点的值>结点左子树的值
Find函数两个参数,一个要查找的元素X,一个树BST
实现的方式不仅是递归而且是尾递归, 即程序最后要返回的时候递归,从遍历的角度讲尾递归都可以用循环来实现
而 对同样的n个结点来说,查找的效率又与树的结构有关
最坏的情况:只有左儿子或只有右儿子,形成一条链,高度是n-1
所以我们喜欢的是平衡一点的树,这就是之后要学的二叉平衡树。
为什么这两个程序的写法不一样啊???