首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么qmap使用skiplist而不是ob rb-tree?

为什么qmap使用skiplist而不是ob rb-tree?
EN

Stack Overflow用户
提问于 2012-10-01 18:28:01
回答 1查看 784关注 0票数 7

我想知道为什么QMap实现了跳过数据结构而不是rb树?关于并发数据结构和跳过列表相对于rb- SO thread的好处,有非常有趣的优点和缺点。它确实是一个非常有趣的对话框,带有帮助式的链接,但QMap不是线程安全的,它不会为同步访问做任何互斥锁。它需要包装器或子类化。

对我来说,编写“手工”跳转列表而不是rb-tree并不简单,所以这也不是很明显。

在非线程安全的Qt容器的上下文中有什么终止特性吗?

提前使用Tnx。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-01 19:52:44

我也曾经认为QMap被设计成线程安全的,因此被实现为一个基于跳过列表的字典。显然,这似乎不是原因。它要简单得多:“可执行文件中的代码更少,每个节点的内存也更少。”

实际上,QMap曾经被实现为RB树。

来源:Qt Quarterly 19, Section "Associative Containers"

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12671529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档