二叉搜索树的应用场景:
K模型:K模型即只有Key作为关键码,结构中只需要存储Key即可,关键码即为需要搜索到的值。
例如:
构建一棵二叉搜索树,将词库中的每个单词作为Key,然后输入一个单词word,判断该单词是否拼写正确。就是在树中检索该单词是否存在,存在则拼写正确,不存在则拼写错误。
KV模型:每一个关键码Key,都有与之对应的值Value,即<Key,Value>的键值对。
例如英汉字典就是一种英文与中文的对应关系,英文单词与其对应的中文<word,chinese>就构成一种键值对。将其存入树中,输入英文就可以返回对应中文。
二叉搜索树的性能效率:
在对二叉搜索树进行insert或是erase时都先必须进行find操作,因此find的效率也就代表了各个操作的性能。但是这也取决于树的形状。
最优情况下:二叉搜索树为完全二叉树(或者接近完全二叉树),效率为O(logn)
最差情况下:二叉搜索树退化为单支树(或者类似单支),效率为O(n)