数据类型,可用于根据会话的到达来存储数据
Posted
技术标签:
【中文标题】数据类型,可用于根据会话的到达来存储数据【英文标题】:data type which can be used to store data according to the arrival for the session 【发布时间】:2022-01-09 06:49:44 【问题描述】:我想知道根据会话的到来,可以使用哪些数据类型来存储数据。
【问题讨论】:
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。 【参考方案1】:问的问题很模糊,我的解释是 有两个功能:
-
添加新的会话时间。
检查是否已看到特定会话时间。
第一种方法:使用哈希集,其中估算会话时间和检查会话时间的时间复杂度为O(1)
。
缺点:空间复杂度为O(N)
。由于我们独立存储每个会话时间,因此需要的存储空间很大,假设输入数据很大。
即,如果会话时间是 1,2,3,4,6,7,8,9,10
,我们将以不同的方式将每个数字存储在哈希集中。
第二种方法:使用有序地图来存储已经看到的会话时间范围。 Key 表示范围的开始时间,Value 表示范围的结束时间
使用相同的例如。 1,2,3,4,6,7,8,9,10
将存储为:
| Key | Value |
| -------- | ------|
| 1 | 4 |
| 6 | 10 |
这样我们减少了存储空间,并且更容易搜索范围。
缺点:插入和检查时间都是O(logN)
。
您可以根据自己的要求使用任何方法:
如果您需要判断会话时间是否可见,第一种方法会更好。 如果您需要返回丢失的会话以在任意两次 T1 和 T2 之间获得所有会话,则第二种方法会更好。【讨论】:
以上是关于数据类型,可用于根据会话的到达来存储数据的主要内容,如果未能解决你的问题,请参考以下文章