Cálculo de Big O para dos estructuras de datos

Si tuviera dos estructuras de datos vinculadas (por ejemplo, cada nodo de una lista vinculada contenía un árbol AVL), entonces cuando búsqueda para uno elemento de datos sería la eficiencia de Big O

  • O (N) + O (logN) = O (N), usando la operación más ineficiente (la búsqueda de listas enlazadas) o
  • O (N) * O (logN) = O (NlogN)?

Gracias por adelantado

preguntado el 10 de marzo de 12 a las 14:03

1 Respuestas

déjeme entender lo que está tratando de preguntar.

está diciendo que en la lista vinculada que tiene cada nodo, si cada nodo tiene una estructura de árbol avl, entonces cuál es la complejidad del tiempo.

obviamente es O (nlogn) ........

respondido 13 mar '12, 09:03

¿No es ésa la complejidad del tiempo para enumerar todos los nodos dentro de la estructura? Si solo estuviera buscando un elemento (si supiera a qué nodo de la lista vinculada pertenecía), ¿no sería O (N)? Gracias por la ayuda - GJHix

Creo que es O (NlogN). pero no mencionó que la lista vinculada está en orden ascendente o descendente ... Normalmente, las listas vinculadas no tendrán una propiedad de orden ordenado. si es árbol de búsqueda binaria o árbol avl Tendrá la estructura definida de min heap de max heap. Pero las listas enlazadas no tendrán esa propiedad. Animo la discusión. - user533

el árbol avl que mencionaste obedecerá solo a la raíz del árbol, que es uno de los nodos de las listas vinculadas, por lo que cada nodo de la lista vinculada mantiene el árbol avl, por lo que si hay n nodos en la lista vinculada, tenemos n árboles avl . Pero no sabemos dónde está exactamente disponible el elemento buscado. Entonces O (nlogn) - user533

Si cree que mi respuesta le está dando una respuesta razonable, puede promover mi respuesta haciendo clic en el punto creciente de mi respuesta. - user533

Ok, perdón por mi vaga explicación, le daré otra oportunidad: mi lista vinculada está en orden, por lo que O (N) eficiencia de búsqueda. Cada nodo contiene un árbol AVL / binario, por lo que O (logN) eficiencia de búsqueda. Cuando estoy buscando un elemento específico y sé en qué nodo de la lista vinculada buscar, ¿no sería O (N) + O (logN) = O (N)? Creo que si estuviera buscando en el árbol AVL de cada nodo de la lista vinculada, sería O (N) * O (logN) = O (NlogN) debido a una operación de búsqueda anidada. Muchas gracias de nuevo por la ayuda. - GJHix

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.