可能重复:
实践中在哪里使用二进制搜索?
二叉树的应用有哪些?
我做过各种练习,包括添加、删除、排序等。
但是,我很难想象在现实世界的程序中使用二叉搜索树。我的意思是肯定它比其他一些搜索算法快得多。但这是它唯一的用途吗?
你能给我一些这个算法在现实世界软件中使用的例子吗?
可能重复:
实践中在哪里使用二进制搜索?
二叉树的应用有哪些?
我做过各种练习,包括添加、删除、排序等。
但是,我很难想象在现实世界的程序中使用二叉搜索树。我的意思是肯定它比其他一些搜索算法快得多。但这是它唯一的用途吗?
你能给我一些这个算法在现实世界软件中使用的例子吗?
每当您使用地图(或字典)时,您都在使用二叉搜索树。这意味着当您需要存储看起来像
myArray["not_an_integer"] = 42;
您可能正在使用二叉搜索树。
例如,在 C++ 中,您有std::map
andstd::hash_map
类型。第一个被编码为带有插入和查找的二叉树O(log(n))
,而第二个被编码为哈希映射(带有O(1)
查找时间)。
编辑:我刚刚找到了这个答案。你应该看看它。
计算机图形学中需要二进制空间分区。这使用二分搜索。更多详细信息,请访问: http ://en.wikipedia.org/wiki/Binary_space_partitioning