【问题标题】:Binary Search multidimensional array in string字符串中的二进制搜索多维数组
【发布时间】:2012-04-25 21:03:26
【问题描述】:

实际上,我正在做我的家庭作业。而且,我真的被困住了。

我需要以正确的方式学习 Java。我的老师没有教我们使用字符串进行二分搜索。所以,我不得不至少花几个小时研究这个话题。

我需要一些简单的解释和代码。

例如

String[][] data={{"John abc","123"},{"Nike cbd","321"}};

我需要输入来搜索“John”,它会显示输出“John abc, 123”。

有人可以就二分搜索的原则提出一些指导吗?

【问题讨论】:

  • 您应该在线查找教程。它会比我们任何人都更好地解释这一点

标签: java search binary-search


【解决方案1】:

字符串可以像数字一样进行排序和比较,使用字母字符串比较。为简单起见,我们假设只有英语,“ABD”大于“ABC”等等。

因此,您为数字找到的任何二进制搜索算法示例都适用于字符串,前提是您拥有的列表当然是经过排序的。这个想法当然很简单——每次迭代将你的候选人缩小一半,直到你找到合适的人。

【讨论】:

    【解决方案2】:

    Arrays.binarySearch 目前支持一维数组。

    因此,您必须将数组缩小到一维,然后调用binarySearch()

    例子:

    for(String[] oneDimension : multiDimension ){
       Arrays.sort(oneDimension);
       Arrays.binarySearch(oneDimension, 'search-field');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多