我不明白收藏品是怎么被普遍使用的。当我发现二进制搜索是什么时,我用java查找了一个实现,这就引起了混乱。我发现的第一个例子是这个https://www.javatpoint.com/binary-search-in-java,但我也在Geeksforgeeks:https://www.geeksforgeeks.org/collections-binarysearch-java-examples/上找到了这个。
它们有相同的输出,显然第二个更简单,但我并不真正理解第一个链接的要点。要对所有集合进行概括,是否存在使用集合是不利的情况?
我很抱歉,我的问题不能更具体,或者如果这个问题没有意义,但我没有足够的理解,使它更具体。
发布于 2019-10-30 22:59:02
java.util.Collections是一个库类,包含用于处理集合类型的utility方法。也就是说,它有一些有用的方法来解决常见的问题或做一些有用的事情,这样您就不必编写自己的代码来完成它们了。第一个链接展示了二进制搜索算法的从头开始实现,而第二个链接展示了如何使用实用工具方法Collections.binarySearch,它可以节省编写自己的实现。
第一个链接可能对教育目的有用(因为学生通常必须了解二进制搜索算法),或者对于需要使二进制搜索适应不同问题的人有用。例如,二进制搜索的变化可以用来查找目标数的第一次出现,或者大于或等于目标的最小数目,但是Collections.binarySearch方法不能做到这两件事,所以您可以自己编写一个实现。
发布于 2019-10-30 22:47:33
您发布的第一个链接实际上解释了二进制搜索是如何工作的,给出了其背后的理论,以及如何自己实现它。这是很好的理解如何,以及为什么二进制搜索工作。
但是,Java语言有一个用于集合的util库(Maps、List等),其中一些简单方法已经实现。第二个链接解释了如何使用该库。
https://stackoverflow.com/questions/58634536
复制相似问题