Interview--Algorithm

二叉排序树,二叉查找树,二叉查找树

二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),二叉查找树(Binary Search Tree),二叉树的一个变种

定义:

是指一棵空树或者具有下列性质的二叉树:

  1. 若左子树非空,则左子树上的所有结点的关键字值均小于根结点的关键字值
  2. 若右子树非空,则右子树上的所有结点的关键字值均大于根结点的关键字值
  3. 左、右子树本身也分别是一棵二叉查找树(二叉排序树)

二叉查找树是一个递归的数据结构,且对二叉查找树进行中序遍历,可以得到一个递增的有序序列。

在进行搜索,查找的时候是非常有利的,因为它的平均操作时间接近O(h),h为树的高度,而且,二叉排序树本身是具有动态性的,可以动态地进行节点的删除,插入等的操作,BST的中序遍历必定是严格递增的

比较相等

equals() 比较的是所指向地址是否相等

Stringequals 可以判断两个字符串的内容是否相等,是因为 String 自己重写了从 Object 继承的 equals

StringBufferequals 不能比较两个字符串的内容是否相等,因为并没有重写 equals 方法,而是继承了 Object 继承的 equals,如果想要比较内容是否相等,需要利用String 帮忙完成

1
buf1.toString().equals(buf2.toString())