类别的数据结构

发布于 2024-08-02 15:30:31 字数 403 浏览 5 评论 0原文

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

例如:

书籍

  • 戏剧
  • 科幻小说
  • 其他

运动

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

例如,我考虑使用 C5 集合库 中的树,但看起来只有红黑树。 有什么建议吗?

I am looking for a data structure to add, remove, get, and find on categories.

For example:

Books

  • Drama
  • Science fiction
  • Other

Sports

  • Cycling
  • Golf
  • Team Sports
    • Soccer
    • Football

etc.

I think about using tree from the C5 collection library for example, but it looks like it has only red-black trees.
Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

宣告ˉ结束 2024-08-09 15:30:31

您只需创建一个公开其他类别实例列表的类别类。

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

    public string Name { get; set; }

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

You can just create a Category class that exposes a list of other Category instances.

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

    public string Name { get; set; }

    public IList<Category> ChildCategories { get; private set; }
}
奈何桥上唱咆哮 2024-08-09 15:30:31

树是一种很好的方法,但我感觉您认为将有一种可以使用的通用数据结构,但这并不是我的设想。我同意马克的解决方案,但推荐使用字典而不是列表。这样您就可以查找类别并快速获取其子类别。

A tree would be a good approach, but I get the feeling you are thinking there is going to be a one-size-fits-all data structure that you could use and that is not really how I envision it. I concur with Mark's solution, but recommend a Dictionary instead of a List. That way you can lookup a Category and get its subcategories quickly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文