【问题标题】:Which data structure is suitable for efficient searching and minimum possible memory?哪种数据结构适合高效搜索和尽可能少的内存?
【发布时间】:2018-07-08 12:39:46
【问题描述】:

我想开发一个应用程序来维护不同产品的库存。产品分为不同的类别。类别的数量是固定的,但每个类别中的产品可以增加/减少取决于引入新产品。当新产品到达时,它将被添加到其类别中,如果产品已经在任何类别中,则只会更新其数量。

从数组、单链表和双链表中,哪种数据结构最适合构建这个应用程序?产品搜索应该是高效的,应用程序应该占用尽可能少的内存。

【问题讨论】:

  • 这是 A) 您实际在做的事情,B) 教科书上的练习,还是 C) 某种在线竞赛或面试问题?
  • 选项B,其实这是一个学术问题。我只是想了解这种情况。
  • 你考虑过吗?您必须对容器执行哪些操作?您知道这些操作在您提到的三个容器(可能还有其他容器)上的效率如何吗?你知道如何将新元素添加到数组或列表中吗?

标签: data-structures singly-linked-list doubly-linked-list


【解决方案1】:

很抱歉,这很切题,但最适合的似乎是地图。

Map<Category, Map<Product, Integer>> map ..

除非这是一些学术任务,否则我想不出任何地图不适用的现实世界场景。

是的,您可能会遇到关于并发性、分布式缓存、最终一致性、内存中存储被随机刷新的问题,但即使是数组和链表也会存在这些问题。

【讨论】:

  • 谢谢,实际上这是一个学术问题。我只是想了解它。
  • 类别数组(因为它们不会改变)然后链表存储在数组中应该会有所帮助。这就像 HashMap
猜你喜欢
  • 2012-04-27
  • 1970-01-01
  • 2014-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 1970-01-01
  • 2010-11-21
相关资源
最近更新 更多