【发布时间】:2011-01-26 14:11:05
【问题描述】:
我有一个节点列表,其中每个节点都属于一棵或多棵树。 (他们不一定有共同的祖先)
我想按照深度优先搜索时的相同顺序对节点进行排序。
假设我有一个用于将树根排序在一起的谓词,以及另一个用于将共同父级的子级排序在一起的谓词。每个节点都有一个 Parent 访问器和一个 children 枚举器。出于性能原因(如果可能),我想避免使用 Children 枚举。
谓词传递给排序函数的伪代码可能是什么(如果节点 1 小于节点 2,谓词将返回布尔值)。
【问题讨论】:
-
你想按级别排序吗?
-
无论你想出什么,排序(在
O(n logn)中)总是比枚举(在O(n)中)要慢。 -
Elmi:我不明白你的问题
标签: algorithm sorting tree predicate depth-first-search