类别的数据结构

时间:2009-08-25 13:45:49

标签: c# .net data-structures tree c5

我正在寻找一个数据结构来添加,删除,获取和查找类别。

例如:

图书

  • 剧情
  • 科幻小说
  • 其他

运动

  • 自行车
  • 高尔夫球
  • 团队运动
    • 足球
    • 足球

我考虑使用C5 collection library中的树,但看起来它只有红黑树。 有什么建议吗?

2 个答案:

答案 0 :(得分:4)

您可以创建一个公开其他类别实例列表的Category类。

public class Category
{
    public Category()
    {
        this.ChildCategories = new List<Category>();
    }

    public string Name { get; set; }

    public IList<Category> ChildCategories { get; private set; }
}

答案 1 :(得分:3)

树会是一种很好的方法,但我觉得你认为你可以使用一种适合所有人的数据结构,而这并不是我想象的那样。我同意Mark的解决方案,但推荐使用Dictionary而不是List。这样,您可以查找类别并快速获取其子类别。