AVL树与堆

时间:2018-08-10 05:25:12

标签: data-structures

假设一家公司想要开发一个应用程序来收集和存储不同国家的温度统计信息。来自所有国家/地区的城市温度详细信息是从不同的在线电子表格中收集的。这些电子表格中有一些包含排序的数据,而另一些包含半排序的数据(数据块已排序)。

应用程序的主要要求是它应该能够快速存储和搜索数据。这意味着,如果您想在该应用程序中存储一个国家的温度统计信息,它应该能够快速存储它,并且如果您要搜索特定城市的温度,它应该为您提供最快的搜索速度。

该公司雇用您来开发此应用程序,并且为您提供了两种数据结构选项供您选择:

AVL树 堆 您希望何时使用哪种数据结构

数据已排序

数据是半分类的

2 个答案:

答案 0 :(得分:0)

堆的最大优点是能够通过面向max或面向min的堆在恒定时间内获取max或min元素。

O(n)中的查找时间会比AVL树差,您只知道每个节点都比其子节点大或小,因此您无法像在AVL树中那样向左或向右移动来减少问题。 / p>

由于您的问题仅说明了查找和插入(不检索最大或最小T),因此我将使用AVL树,该树可以在O(log N)中实现这两种操作

答案 1 :(得分:0)

我将推荐AVLTree数据结构。 AVL树数据结构是用于组织数据对象的强大工具。同样对于组织多个 数据对象,例如层次关系。 AVL树是一种数据结构,用于在一个地方管理大量数据,并且数据访问要快得多。