【发布时间】:2017-09-11 16:36:29
【问题描述】:
我目前正在研究算法和数据结构,在阅读《算法之书》第 4 版时,我发现了 Bag 数据结构以及 Stack 和 Queue。
在阅读了它的解释之后,我仍然不清楚我更喜欢使用Bag(没有remove() 方法)而不是其他数据结构,例如Stack、Queue、LinkedList还是Set?
据我从书中了解到,Bag 的实现与Stack 的实现相同,只是将push() 的名称替换为add() 并删除pop() 方法。
所以Bag 的想法基本上是能够收集物品,然后遍历收集的物品,检查一个袋子是否是空的,并找出其中的物品数量。
但是在哪种情况下我最好使用Bag 而不是上述集合之一?为什么Bag 基本上没有remove() 方法?有什么具体原因吗?
提前致谢。
【问题讨论】:
标签: java algorithm data-structures bag