2010-04-14 20 views
21

lo general, tenemos una sola palabra para la mayoría de las complejidades que encontramos en el análisis algorítmico:¿Existe un término abreviado para O (n log n)?

  • O(1) == "constante"
  • O(log n) == "logarítmica"
  • O(n) == "lineal"
  • O(n^2) == "cuadrática"
  • O(n^3) == "cúbica"
  • O(2^n) == "exponencial "

nos encontramos con algoritmos con O(n log n) complejidad con cierta regularidad (piense en todas las algoritmos dominadas por la complejidad especie), pero por lo que yo sé, no hay una sola palabra podemos usar en Inglés para referirse a esa complejidad. ¿Es esto un vacío en mi conocimiento, o una brecha real en nuestro discurso en inglés sobre la complejidad computacional?

+4

Para todos los que responden señalando el número de sílabas, esto no es acerca de la optimización (Te engañado con mi uso de "taquigrafía" más arriba) pero más acerca de hablar con fluidez (es decir, fluyendo, muy a diferencia de esta digresión parentética) Inglés. – jemfinch

+2

Quizás usando el término común "nlogn" que tiene pocos o ningún otro significado, es fluido, inglés común. –

+1

@Joe: Tal vez no sea inglés común, pero cualquiera que discuta la complejidad algorítmica debería ser capaz de usarlo con fluidez. –

Respuesta

24

parece haber sido acuñado por Robert Sedgewick en el libro Algoritmos En C. También se llama cuasilineal o loglinear. Sin embargo, linearithmic tiene la ventaja adicional de no ser un término sobrecargado (el cuasilineal se usa en economía y ecuaciones diferenciales, mientras que loglinear se usa en economía y análisis de regresión).

+5

Por la apariencia de otras respuestas, no creo que esto sea una jerga común (nunca había oído hablar de él), así que, para mayor claridad, me quedaría con "inlogin" o podría obtener algunas miradas extrañas. +1, aunque - tal vez a tiempo esto se convertirá en un término común (raro que no lo sea). –

+1

Sospecho de "material original" en esa entrada. ... "Resultados 1 - 10 de aproximadamente 1,080 para linearitmico." google.com/search?q=linearithmic –

+0

Recibo 9600 visitas para esa búsqueda. – Nitrodist

16

"es log en" tiene menos sílabas que "exponencial" o "logarítmico". Creo que la mayoría de la gente solo dice eso.

+7

Además, ¿por qué la abreviatura "double-you do double-you do you-you" (9 sílabas) para "world wide web" (3 sílabas)? –

+0

Esto es cierto, pero lineal es más largo que 'n' y la gente dice eso. –

+4

@Joe - tal vez por eso mucha gente solo dice "dub-dub-dub"."Yo no, por supuesto, creo que te hace sonar como un idiota blibbering – tvanfosson

1

No creo que exista tal término.

Más relevante, sin embargo, es este pensamiento: ¿Por qué te refieres a exponencial (11 caracteres) como una "taquigrafía" para O (2^n) (6 caracteres)?

Personalmente, estoy muy feliz de decir "este algoritmo se ejecuta en tiempo de registro". Es todo lo que la mayoría de la gente necesita escuchar.

+1

Ahora, diga "este algoritmo se ejecuta en dos al tiempo de ent" frente a "este algoritmo se ejecuta en tiempo exponencial". este último es, en mi opinión, más idiomático y más fácil de decir. –

+1

Sí, estoy de acuerdo contigo allí. Nunca dije que exponencial no fuera más fácil de decir. Pero no creo que haya una manera simple e idiomática de expresar el producto de una función de crecimiento lineal y logarítmico. –

-1

No, no existe una sola palabra equivalente para O (nlogn). Sólo tienes que pasar el tiempo extra que dice todo el asunto (Nota: el mismo número de sílabas como "exponencial")

11

Según Wikipedia se le puede llamar linearithmic, loglineales, o cuasi-lineal .

+0

De esos tres, solo loglinear es algo claro en lo que significa. Aunque los otros dos ciertamente suenan un poco geniales. –

+0

"Resultados 1 - 10 de aproximadamente 1,080 para linearitmico." http://www.google.com/search?q=linearithmic –

+1

Prefiero 'loglinear'. También existe la variante [logilinear] (http://www.google.com/search?q=logilinear) en la naturaleza, pero esto no está reconocido oficialmente por ningún diccionario, y parece que solo se usa en el contexto de loglinear modelado. –

Cuestiones relacionadas