我被要求使用二分搜索在我们读取的文件中查找特定单词。
我不明白的问题是当您查找单词而不是数字时如何使用二分搜索。
最佳答案
二分搜索在排序输入上运行。您可以定义 order还在于言语,而不仅仅是值(value)观。
例如 lexicographical order 。在 Java 中,这甚至被实现为 String
的自然顺序 s。所以你可以这样做"text1".compareTo("text2")
它返回订单。
二分查找的小例子:
如您所见,算法中唯一需要决定的是两个对象之间的顺序。例如,从图像中,7 < 14
和7 > 6
。如前所述,您也可以对 String
执行此操作s。事实上,对于您定义订单的一切。
实际上,Java 中的许多类(超过 150
)都实现了自然顺序,它们列在接口(interface) Comparable
下。 (documentation),它们都提供了compareTo
具有有意义的顺序的方法。
关于java - 如何使用仅使用单词而不使用数字的二分搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46678455/