二叉搜索树在真实世界的程序中使用?

时间:2012-12-16 10:42:19

标签: algorithm sorting search binary-search-tree

  

可能重复:
  Where is binary search used in practice?
  What are the applications of binary trees?

我做过各种练习,包括添加,删除,排序等。

然而,我很难想象在现实世界的程序中使用二叉搜索树。我的意思是它确实比其他一些搜索算法更快。但这是唯一的用途吗?

你能不能给我一些在现实世界的软件中使用这种算法的例子。

2 个答案:

答案 0 :(得分:2)

每当您使用地图(或词典)时,您都在使用二叉搜索树。这意味着当您需要存储看起来像

的数组时
myArray["not_an_integer"] = 42;

你可能正在使用二叉搜索树。

例如,在C ++中,您拥有std::mapstd::hash_map类型。第一个编码为具有O(log(n))插入和查找的二叉树,而第二个编码为哈希映射(具有O(1)查找时间)。

编辑:我刚发现this answer。你应该看看它。

答案 1 :(得分:0)

计算机图形中需要二进制空间分区。这使用二进制搜索。更多详情请访问: http://en.wikipedia.org/wiki/Binary_space_partitioning