| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 354 人关注过本帖
标题:图灵程序设计丛书——算法Alogrithms(第四版)书里面有关二分法查找的程序 ...
只看楼主 加入收藏
mudi
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-12-19
结帖率:100%
  已结贴   问题点数:10  回复次数:4   
图灵程序设计丛书——算法Alogrithms(第四版)书里面有关二分法查找的程序例子看不懂
想请教下谁看过谢路云翻译的《算法》一书,里面有一个二分查找的算法,用于处理“白名单”问题。

程序代码:
import java.util.*;
public class BinarySearch {
   public static void main(String[] args) {
       //以下语句看不懂是什么作用?想请论坛的热心人帮忙解答。
       int[] whiteList = In.readInts(args[0]);
       Arrays.sort(whiteList);
       while(!StdIn.isEmpty()) {
           int key = StdIn.readInt();
           if(rank(key,whiteList) < 0) {
               StdOut.println(key);
           }                                                      

       }
   }
   public static int rank(int key, int[] a) {
       int lo =0;
       int hi = a.length -1;
       while(lo <= hi) {
           int mid = lo +(hi+lo)/2;
           if(key < a[mid]) {
               hi = mid -1;
           }else if(key > a[mid]) {
               lo = mid +1;
           }else {
               return mid;
           }
         

       }
       return -1;
   }
}
2018-12-21 20:25
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:107
帖 子:1725
专家分:7526
注 册:2015-3-19
  得分:0 
跑过吗,这段代码

wechat    PrinceThumb
2018-12-22 23:05
mudi
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-12-19
  得分:0 
回复 2楼 林月儿
运行后程序抛出异常,是这条语句:  int[]  whiteList = In.readInts(args[0]);
(In)是书本作者自己写的一个类:这个类的作用时从标准输入、文件输入当中读取字符串或者数字
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at BinarySearch.main(BinarySearch.java:5)

2018-12-23 09:37
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:107
帖 子:1725
专家分:7526
注 册:2015-3-19
  得分:10 
改一下呢,自己定义一个字符串数组

wechat    PrinceThumb
2018-12-23 18:04
mudi
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-12-19
  得分:0 
回复 4楼 林月儿
嗯嗯,自己定义了一个整型数组,但是运行都没有反应。
原本作者说可以输出白名单中没有的字符,这个程序貌似没有这样的效果。
2018-12-23 20:50







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039042 second(s), 9 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved