Complejidad de Set :: Insertar -- ++ campo con stl campo con set campo con time-complexity camp Relacionados El problema

complexity of set::insert


21
vote

problema

Español

He leído que la operación de inserción en un conjunto requiere solo el tiempo de registro (n). ¿Cómo es eso posible?

Para insertar, primero hemos encontrado la ubicación en la matriz ordenada donde el nuevo elemento debe sentarse. Usando la búsqueda binaria, toma el registro (n). Luego, para insertar en esa ubicación, todos los elementos que tengan éxito deben cambiar un lugar a la derecha. Se necesita otro n hora.

Mi duda se basa en mi entendimiento de que el conjunto se implementa como una matriz y elementos se almacenan en orden ordenado. Por favor, corrígeme si mi comprensión está mal.

Original en ingles

I have read that insert operation in a set takes only log(n) time. How is that possible?

To insert, first we have find the location in the sorted array where the new element must sit. Using binary search it takes log(n). Then to insert in that location, all the elements succeeding it should be shifted one place to the right. It takes another n time.

My doubt is based on my understanding that set is implemented as an array and elements are stored in sorted order. Please correct me if my understanding is wrong.

           
         
         

Lista de respuestas

39
 
vote

mailto:2 se implementa comúnmente como un árbol de búsqueda binario rojo-negro. La inserción en esta estructura de datos tiene la peor caso de O (log (n)) complejidad, ya que el árbol se mantiene equilibrado.

 

std::set is commonly implemented as a red-black binary search tree. Insertion on this data structure has a worst-case of O(log(n)) complexity, as the tree is kept balanced.

 
 

Relacionados problema

1  JNI: ¿GetIntarrayelements siempre lineal a tiempo?  ( Jni is getintarrayelements always linear in time ) 
Dado que quiero saber si vale la pena usar JNI para mejorar el rendimiento de mi solicitud, quería saber cuál es la complejidad de GetIntArrayElements . ¿S...

69  ¿Cuál es la complejidad del tiempo del Sleep Sort?  ( What is the time complexity of the sleep sort ) 
Dado este algoritmo de clasificación ¿Cómo expresa su complejidad de tiempo? originalmente presentada aquí (archivo parcial) . openssl aes-256-cbc -...

1  C # Clases Hashtable Búsqueda por clave es O (1)?  ( C sharp hashtable classes lookup by key is o1 ) 
Leí en "Big O" y pensé en lo anterior. ¿Es correcto ...? Respuesta (proporcionada por @mehrdad a continuación): el peor caso es O (N) Editar: Lo siento,...

0  ¿Cuál es la complejidad de esta función con los bucles anidados?  ( What is the complexity of this function with nested loops ) 
¿Cuál es la complejidad de este código? ORA - 06502:PL/SQL : Numeric or Value Error:Bulk Bind : truncated Bind111 } Mi suposición es que tomará las ope...

8  Programa / algoritmo para encontrar la complejidad del tiempo de cualquier programa dado  ( Program algorithm to find the time complexity of any given program ) 
Me gusta saber si es posible "escribir un programa o algoritmo " para encontrar la complejidad del tiempo de cualquier programa dado como entrada. Ent...

3  Complejidad de tiempo de crear listas anidadas en Python  ( Time complexity of creating nested lists in python ) 
Me he encontrado con una rareza con la creación de listas anidadas en Python 2.6.6. Considere las siguientes dos funciones: def lists(n): start_time ...

2  Complejidad de multiplicaciones de matriz arbitrarias  ( Complexity of arbitrary matrix multiplications ) 
Tengo una pregunta simple sobre la implementación de las multiplicaciones de matriz. Sé que hay algoritmos para matrices de igual tamaño (n x n) que tienen un...

25  Encuentra la entrada más común en una matriz  ( Find the most common entry in an array ) 
Se le proporciona una matriz entera sin firmar de 32 bits con longitud de hasta 2 32 , con la propiedad que más de la mitad de las entradas en la matriz son ...

-6  Si el tiempo de funcionamiento de un algoritmo se puede expresar como función f (x) = √n + (logn) ^ 2,  ( If an algorithms running time can be expressed as function fx %e2%88%9anlogn2 ) 
Si el tiempo de funcionamiento de un algoritmo se puede expresar como función F(x)=√n+(logn)^2 , ¿cuál de los siguientes no es un límite correcto para el tie...

0  El juego de 2 jugadores está en PSPACE  ( 2 player game is in pspace ) 
Así que he dado una fórmula booleana Q con variables 2n.Denoted por Q (X1 ... Xn, Y1 ... Yn) y se menciona que existe A1 .... Una pertenencia a {0,1 } de modo...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos