2014-11-01 33 views

回答

0

这是可能的,但不常见。

如果你想要一个排序树,你通常会按排序顺序构建它。重新排列树中的节点/分支是相当常见的。如果您正在构建二叉搜索树,则可能会重新排列节点以保持平衡。如果您在编译器中使用抽象语法树,则可以重新排列节点以优化计算。

地图是一个更抽象的结构,可以使用二叉搜索树,跳过列表,B树,哈希表等实现。其中大多数假设某些特定的内容顺序。

图基本上是树的泛化。将某些类型的排序应用于图形当然是可能的(例如,图形上的拓扑排序很常见)。如果数据具有自己的某种结构,那么通常会使用图表,并将其减少为有序序列会使图表中的大量数据丢失。

例如,图形的典型用法可能是将火车站表示为节点,并将这些站点之间的连接作为图形中的弧线进行训练。然后,您可以通过这些图表来找出通过这些铁路连接从一个城市到另一个城市的方式。

从图表中提取数据的一个子集(例如城市名称)并将数据分类为一个序列(例如获取特定站点的出发列表,按出发时间排序,并列出每个的目的地。您可能还想要生成(主要)目的地的排序列表,以及每个目的地的出发时间。

这些确实会提取数据,然后对提取的数据进行排序,而不是排序图本身。整个原因(或者大部分原因,无论如何)图形首先被构建为图形是因为它包含的数据不会轻易地按照一个特定顺序减少到一个列表。

+0

你的意思是说,Set,Tree,Map,Graph都是以结构化的方式创建的,所以它不常见的排序 – VijayM 2014-11-01 17:58:40

+0

或多或少,无论如何,是的。 – 2014-11-01 18:05:05