¿Qué es la complejidad del tamaño () para la vista de porción de TreeSet en Java?

Me pregunto cuál es la complejidad de tiempo size()para la vista de porción de TreeSet.

Digamos que estoy agregando números aleatorios para establecer (y no me importan las duplicidades):

    final TreeSet<Integer> tree = new TreeSet<Integer>();
    final Random r = new Random();
    final int N = 1000;
    for ( int i = 0; i < N; i++ ) {
        tree.add( r.nextInt() );
    }

y ahora estoy preguntando qué es la complejidad para las size()llamadas como:

    final int M = 100;
    for ( int i = 0; i < M; i++ ) {
        final int f = r.nextInt();
        final int t = r.nextInt();
        System.out.println( tree.headSet( t ).size() );
        System.out.println( tree.tailSet( f ).size() );
        if ( f > t ) {
            System.out.println( tree.subSet( t, f ).size() );
        } else {
            System.out.println( tree.subSet( f, t ).size() );
        }
    }

AFAIK complejidad de tree.headSet( t ), tree.tailSet( f )y tree.subSet( f, t )son O (lg N), set.size()es O (1), pero ¿qué pasa con los size()métodos anteriores? Tengo el mal presentimiento de que es O (K) donde K es el tamaño del subconjunto seleccionado.

Tal vez si hay alguna solución para encontrar el índice de algún elemento en el conjunto, sería suficiente, porque si puedo obtener ti = indexOf(f), digamos O (lg N), es exactamente lo que necesito.

Respuesta 1

Tengo esta enumeración: public enum Digits {ZERO (0); número int privado final; Dígitos privados (int número) {this.number = número; } public int getValue () {return number; ...

Esta puede ser una pregunta tonta para algunos programadores pro java, pero me estoy volviendo loco en este momento, así que todavía estoy preguntando. Por favor guíame en la dirección correcta a alguien. ¿Cómo analizo qué método / partOfMethod es ...

Ayer vi una pregunta preguntando por qué Math.pow (int, int) es tan lento, pero la pregunta estaba mal redactada y no mostró ningún esfuerzo de investigación, por lo que se cerró rápidamente. Hice una pequeña prueba y encontré ...

Mientras trato de crear una aplicación de Android Phonegap me sale el siguiente error: $ phonegap / lib / android / bin / create myapp opción no válida - 'e' Pruebe `jar --help 'para obtener más información que estoy usando ...