小编Jus*_*son的帖子

Java函数注释帮助,使用@Deprecated?

场景:
Java 1.6

class Animal { 
    private String name; 
    ...  
    public String getName() { return name; }  
    ...
}

class CatDog extends Animal {
    private String dogName;
    private String catName;
    ...
    public String getDogName() { return dogName; }
    public String getCatName() { return catName; }
    public String[] getNames() { return new String[]{ catName, dogName }; }
    ...
    public String getName() { return "ERROR! DO NOT USE ME"; }
}
Run Code Online (Sandbox Code Playgroud)

问题:
getName没有意义,不应该在这个例子中使用.我正在阅读@Deprecated注释.有更合适的注释方法吗?

问题:
A)使用此功能时(运行前)是否可以强制执行错误?
B)有没有办法为我将使用的注释方法显示自定义警告/错误消息?理想情况下,当用户将鼠标悬停在已弃用/错误函数上时.

java annotations

25
推荐指数
3
解决办法
3万
查看次数

时间复杂度/外部合并排序成本

我从一个谈论外部合并排序的链接得到了这个.

从幻灯片6示例:使用5个缓冲页面,对108页面文件进行排序

  • Pass0:[108/5] = 22个分类运行,每个5页(最后一次只运行3页)

  • Pass1 [22/4] = 6个分类运行,每个20页(最后一次只运行8页)

  • Pass2:[6/3] = 2个分类运行,80页和28页

  • 通过3:[2/2] = 1 108页的分类文件

问题:我的理解是在外部合并排序中,在传递0中,您创建块然后对每个块进行排序.在剩余的传球中,你不断合并它们.因此,将其应用于上面的示例,因为我们只有5个缓冲页面,在Pass 0中它清楚我们需要22个排序的运行,每个5页.

  1. 现在,为什么我们要为剩余的传递进行排序运行而不是合并?

  2. 当我们只有5个缓冲页面时,它怎么告诉传递1,6个分类的每个20页的运行?

  3. 这里合并的确切位置在哪里?如何在每次通过中减少N,即从108减少到22到6到2?

algorithm mergesort

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

algorithm ×1

annotations ×1

java ×1

mergesort ×1