具有O(logn)^ 2时间性能的示例

时间:2010-11-27 13:48:53

标签: performance

您好 是否有任何示例显示一些具有O(logn)^ 2的代码。 我无法得到这样的时间性能。 感谢

1 个答案:

答案 0 :(得分:1)

我想这可能发生在嵌套binary searches上,O(log n)

这是一个愚蠢的例子,使用C#:

public class SuperHeroComparer : IComparer<string>
{
    public int Compare(string first, string second)
    {
        int firstLimboIndex = Limbo.BinarySearch(first);
        int secondLimboIndex = Limbo.BinarySearch(second);
        if (firstLimboIndex < 0 && secondLimboIndex >= 0) {
            return 1;
        if (firstLimboIndex >= 0 && secondLimboIndex < 0) {
            return -1;
        return String.Compare(first, second);
    }
}

public static class Continuity
{
    public static int IndexOfSuperHero(string name)
    {
        return SuperHeroes.BinarySearch(name, new SuperHeroComparer());
    }
}

在上面的代码中,Continuity.IndexOfSuperHero()将具有O(log n)²复杂度。