借书图书馆数据结构

时间:2011-02-12 21:06:08

标签: data-structures computer-science software-design

首先,我想提一下问题是作业问题。 我一直在思考实施的时间。

我必须考虑并实施具有以下功能的库软件:

  1. 添加/删除新订阅者。
  2. 借阅/归还一本书。
  3. 以下订阅者有哪些图书?
  4. 哪位订阅者持有以下书籍?
  5. 拥有最多图书的订阅者列表。
  6. 我想过实现一堆和两棵红黑树,问题是空间复杂度很高。所以我想知道我是否遗漏了什么。

    订户由I.Ds存储,书籍有代码名称。 一个红黑树是订阅者,另一个是借书。 堆是最大堆,以便实现最后一个要求。

    我不能使用除数据结构之外的任何其他内容。

    感谢任何见解和答案。

1 个答案:

答案 0 :(得分:0)

我猜你也可以使用像结构一样的容器?使用:

  • 书籍的一个哈希集/哈希表:
    另外,存储一个标志,用于确定是否借阅该图书以及借用的图书。
  • 来自订阅者 - >链接书籍列表的一个哈希映射,不仅可以存储所有订阅者,还可以存储他们借阅的书籍。

这允许您在O(1)中执行所有列出的任务,除了根据他们借来的书籍对订阅者进行排序。