Pregunta

i Wounder ¿Por qué QMAP se realiza sobre la estructura de datos de Skiplist y no RB-TREE? Hay muy interesante So Hase sobre las estructuras de datos de la concurrencia y los beneficios de la lista de saltos sobre RB-Tree, Pros y Contras.De hecho, es un diálogo muy entrenado con enlaces útiles, pero QMAP no es seguro, no hace ningún bloqueo MUTEX para sincronizar el acceso a la caja.Requiere envoltura o subclasificación.

Para mí, no es un simpliante, escriba la lista Skiped "Hecha a mano" en lugar de RB-Tree, por lo que esto tampoco es obvio.

¿Hay alguna característica de muerte en el contexto del contenedor QT sin rosca?

tnx de antemano.

¿Fue útil?

Solución

Una vez pensé que QMAP está diseñado para ser seguro de hilos y, por lo tanto, se implementé como un diccionario basado en la lista de Skip.Al parecer, esto no parece ser la razón.Es mucho más simple: "Menos código en el ejecutable y menos memoria por nodo".

De hecho, QMAP una vez se implementó como un árbol RB.

Fuente: QT trimestral 19, sección "contenedores asociativos"

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top