当我在学校时,我们有一个实施2-3树的任务。我这样做并构建了以下2-3树https://github.com/awm086/2-3-tree/blob/master/2_3_tree.cpp。
现在我正在回顾并尝试刷新我的c ++知识,我不禁想知道,我怎么能在现实生活中使用这个数据结构。我希望能够编写一个可以利用这种数据结构的程序。所以我想我要求一个使用树数据结构的真实例子(简单到可以实现)?
答案 0 :(得分:2)
例如,树在std::map之类的关联容器中使用,因为它们可以非常快速地查找,插入和删除。
答案 1 :(得分:2)
来自2-3棵树的维基百科页面,
2-3棵树是AA树的等轴测图,这意味着它们是等效的数据结构。换句话说,对于每2-3个树,至少存在一个具有相同顺序的数据元素的AA树。
和(来自AA Trees)
计算机科学中的AA树是一种平衡树形式,用于有效地存储和检索有序数据。
最后,
AA树的性能相当于红黑树的性能。虽然AA树比红黑树更多地旋转,但更简单的算法往往更快,并且所有这些平衡导致类似的性能。红黑树的性能比AA树更一致,但AA树往往更平坦,这导致搜索时间略快。
答案 2 :(得分:1)
你的意思是为什么要使用树 - 或者为什么要使用2-3棵树?
树允许您存储一组有序的数据,而无需在添加新数据时进行(重新)排序
对2-3棵树进行优化,以免它们变得不平衡
答案 3 :(得分:0)
树数据结构在很多地方被广泛使用,您可以按照以下方式执行操作。
Data base designing
您可以创建自己的数据库,只是为了存储基于某个值的数据,假设一个BST(二叉搜索树),那么您可以选择越来越大的值,并且基于这些值,您可以将数据存储在树中节点
Creating file system
这是树被大量使用的区域,所以你可以尝试这些。