可能重复:
Where is binary search used in practice?
What are the applications of binary trees?
我做过各种练习,包括添加,删除,排序等。
然而,我很难想象在现实世界的程序中使用二叉搜索树。我的意思是它确实比其他一些搜索算法更快。但这是唯一的用途吗?
你能不能给我一些在现实世界的软件中使用这种算法的例子。
答案 0 :(得分:2)
每当您使用地图(或词典)时,您都在使用二叉搜索树。这意味着当您需要存储看起来像
的数组时myArray["not_an_integer"] = 42;
你可能正在使用二叉搜索树。
例如,在C ++中,您拥有std::map
和std::hash_map
类型。第一个编码为具有O(log(n))
插入和查找的二叉树,而第二个编码为哈希映射(具有O(1)
查找时间)。
编辑:我刚发现this answer。你应该看看它。
答案 1 :(得分:0)
计算机图形中需要二进制空间分区。这使用二进制搜索。更多详情请访问: http://en.wikipedia.org/wiki/Binary_space_partitioning