【发布时间】:2019-06-20 10:49:46
【问题描述】:
我们有类别列表,其中每个类别都可以具有引用当前类别的父类别的父字段。你能告诉我java中对类别进行排序的最佳算法是什么,例如从上到下的类别?谢谢。
@Table
@Entity
public class Category {
@Id
Long id;
@ManyToOne
Category parent;
}
示例:
列表:
- 类别(id=3, parent=Category(id=11))
- 类别(id=4, parent=Category(id=3))
- 类别(id=11, parent=Category(id=20, parent=null))
会像这样从上到下排序:
类别(id=20) -> 类别(id=11) -> 类别(id=3) -> 类别(id=4)
【问题讨论】:
-
举个具体的例子。您要对列表或链 parent-child-grandchiled-... 进行排序吗?提供一个小例子和期望的结果。还请提及您到目前为止所做的尝试。
-
@MrSmith42 对不起.. 我添加它是为了更好地理解
-
我在您的示例中看不到排序。您只是按照父关系已定义的顺序列出了类别。
-
@MrSmith42 我还添加了图片。我需要一些逻辑,它可以有效地创建您在图像上看到的类别顺序。从最高的父母到最低的孩子
-
您在寻找topological sorting 吗?
标签: java algorithm sorting data-structures