C ++中树数据结构的实际使用示例?

时间:2012-10-12 15:30:45

标签: c++ c

当我在学校时,我们有一个实施2-3树的任务。我这样做并构建了以下2-3树https://github.com/awm086/2-3-tree/blob/master/2_3_tree.cpp

现在我正在回顾并尝试刷新我的c ++知识,我不禁想知道,我怎么能在现实生活中使用这个数据结构。我希望能够编写一个可以利用这种数据结构的程序。所以我想我要求一个使用树数据结构的真实例子(简单到可以实现)?

4 个答案:

答案 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

这是树被大量使用的区域,所以你可以尝试这些。