Cálculo de Big O para dos estructuras de datos
Frecuentes
Visto 234 veces
0
Si tuviera dos estructuras de datos vinculadas (por ejemplo, cada nodo de una lista vinculada contenía un árbol AVL), entonces cuando búsqueda es . 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
1 Respuestas
2
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 la respuesta que estás buscando? Examinar otras preguntas etiquetadas big-o or haz tu propia pregunta.
¿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