CRUD表现-工作面试问题

时间:2019-01-18 04:07:40

标签: javascript c# typescript data-structures

真实工作面试问题,由一些“顶级”工程师提出。说实话,我认为这是关于找到数据结构的“圣杯”的问题。但是我试图了解如何对这种“问题”做出回应。

要求: 我们有 服务接口中的Get(id),Put(id,model),Delete(id),Add(id,model)操作。

有服务S令人满意的接口。它将数据存储在某些容器/集合中。

  1. 如何使这些操作以效率O(1)执行?

  2. 与此同时,此容器/集合应使用最少的内存。 假设我们在这里谈论c#或Javascript / typescript。

2 个答案:

答案 0 :(得分:0)

不太确定#2,但是对于#1,Javascript对象实际上是一个哈希表,因此查找在O(1)时间内运行。您可以简单地使用一个对象,其键代表主键,这些主键标识我们数据存储区中的条目。每个键的值就是条目本身。

答案 1 :(得分:0)

  

要求:服务接口中具有Get(id),Put(id,model),Delete(id),Add(id,model)操作。

TypeScript Map<Key,Value>中的O(1):https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map