设计一个具有插入,删除,在O(1)时间复杂度中随机化的数据结构,

费利西亚法

这是一个最近的采访问题。请设计一个具有插入,删除,在o(1)时间复杂度中随机的数据结构,该数据结构可以是基本数据结构,例如数组,可以是基本数据结构的修改,也可以是基本数据的组合结构。

伯恩哈德·巴克

将数组与元素的哈希映射组合到数组索引。

插入可以通过添加到数组并添加到哈希映射中来完成。

删除可通过以下方法完成:首先在哈希图中查找并删除数组索引,然后将最后一个元素与数组中的该元素交换,适当地更新先前最后一个元素的索引,并将数组大小减小一个(删除最后一个)元件)。

可以通过从数组返回随机索引来获得随机值。

所有运算取O(1)。

好吧,实际上,它是通过预期的(从预期的哈希冲突)分摊(通过调整数组的大小)O(1),但是足够接近。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数据结构的时间复杂度

来自分类Dev

数据结构的时间复杂度

来自分类Dev

具有恒定时间复杂度的无向图边的数据结构

来自分类Dev

如何使用数组设计具有O(1)的数据结构以进行获取,插入和删除

来自分类Dev

给定数据结构的时间复杂度

来自分类Dev

给定数据结构的时间复杂度

来自分类Dev

如何设计一个数据结构,以支持在O(1)时间内插入,删除(键,值)对以及获取最小值和最大值?

来自分类Dev

如何在O(1)时间复杂度中删除第k个元素

来自分类Dev

是否存在具有线性时间复杂度和O(1)辅助空间复杂度的排序算法?

来自分类Dev

仅具有一列(主键)的SQL表中选择/插入的时间复杂度

来自分类Dev

创建具有快速插入,删除,成员资格测试和随机选择的数据结构

来自分类Dev

随机化器从向量中选取一个数字并将其删除

来自分类Dev

字典数据结构+快速复杂度方法

来自分类Dev

这是什么递归调用的大O时间复杂度与一个for循环

来自分类Dev

所有数字的总和,直到变成Java中具有o(1)复杂度的一位?

来自分类Dev

所有数字的总和,直到变成Java中具有o(1)复杂度的一位?

来自分类Dev

如何随机化一个开关?

来自分类Dev

在JS中以最小的时间复杂度绘制一个带边框的正方形

来自分类Dev

链表中删除的时间复杂度

来自分类Dev

如何设计一个支持删除小于给定值的元素的树数据结构?

来自分类Dev

创建一个二维数组,将Java中的对象随机化

来自分类Dev

结构的时间复杂度

来自分类Dev

随机化数据框列表中的一列

来自分类Dev

Redis-数据结构,一个接一个地插入字符串,一次删除所有字符串

来自分类Dev

将数据结构副本分配给新实例的时间复杂度是多少?

来自分类Dev

单链接列表插入和删除的时间复杂度

来自分类Dev

什么时间复杂度具有使用BST对结构数组进行排序的功能?

来自分类Dev

给定一个具有时间复杂度O(n ^ 2)的算法,如果我将输入n增加三倍会发生什么?

来自分类Dev

使用 O(n) 时间复杂度搜索对给定方法返回 true 的二维数组有一个问题

Related 相关文章

  1. 1

    数据结构的时间复杂度

  2. 2

    数据结构的时间复杂度

  3. 3

    具有恒定时间复杂度的无向图边的数据结构

  4. 4

    如何使用数组设计具有O(1)的数据结构以进行获取,插入和删除

  5. 5

    给定数据结构的时间复杂度

  6. 6

    给定数据结构的时间复杂度

  7. 7

    如何设计一个数据结构,以支持在O(1)时间内插入,删除(键,值)对以及获取最小值和最大值?

  8. 8

    如何在O(1)时间复杂度中删除第k个元素

  9. 9

    是否存在具有线性时间复杂度和O(1)辅助空间复杂度的排序算法?

  10. 10

    仅具有一列(主键)的SQL表中选择/插入的时间复杂度

  11. 11

    创建具有快速插入,删除,成员资格测试和随机选择的数据结构

  12. 12

    随机化器从向量中选取一个数字并将其删除

  13. 13

    字典数据结构+快速复杂度方法

  14. 14

    这是什么递归调用的大O时间复杂度与一个for循环

  15. 15

    所有数字的总和,直到变成Java中具有o(1)复杂度的一位?

  16. 16

    所有数字的总和,直到变成Java中具有o(1)复杂度的一位?

  17. 17

    如何随机化一个开关?

  18. 18

    在JS中以最小的时间复杂度绘制一个带边框的正方形

  19. 19

    链表中删除的时间复杂度

  20. 20

    如何设计一个支持删除小于给定值的元素的树数据结构?

  21. 21

    创建一个二维数组,将Java中的对象随机化

  22. 22

    结构的时间复杂度

  23. 23

    随机化数据框列表中的一列

  24. 24

    Redis-数据结构,一个接一个地插入字符串,一次删除所有字符串

  25. 25

    将数据结构副本分配给新实例的时间复杂度是多少?

  26. 26

    单链接列表插入和删除的时间复杂度

  27. 27

    什么时间复杂度具有使用BST对结构数组进行排序的功能?

  28. 28

    给定一个具有时间复杂度O(n ^ 2)的算法,如果我将输入n增加三倍会发生什么?

  29. 29

    使用 O(n) 时间复杂度搜索对给定方法返回 true 的二维数组有一个问题

热门标签

归档