周围有一些数据结构非常有用,但大多数程序员都不知道.他们是哪一个?
每个人都知道链接列表,二叉树和哈希,但是例如跳过列表和布隆过滤器.我想知道更多不常见的数据结构,但值得了解,因为它们依赖于很棒的想法并丰富了程序员的工具箱.
PS:我也对像跳舞链接这样的技巧感兴趣,这些技巧巧妙地使用了常见数据结构的属性.
编辑:请尝试更详细地包含指向描述数据结构的页面的链接.此外,尝试添加几个关于数据结构为什么很酷的词(正如JonasKölker已经指出的那样).此外,尝试为每个答案提供一个数据结构.这将允许更好的数据结构根据他们的投票单独浮动到顶部.
如果使用数组实现,我可以看到使用两个堆栈的优势,因为使用数组比使用数组更容易实现堆栈.但是如果使用链接列表,有什么优势呢?将堆栈弹出到队列上的行为增加了链表和数组实现的开销.
如何在0(1)时间复杂度的任何时间从队列中检索max和min元素?之前我使用Collections.max和min来查找元素,但这将是0(n).
我记得并检查过,遍历树或爬行网络宽度优先(BFS)的常用方法是使用队列。实际上有没有一种方法可以不使用队列来实现它?
我一直在讨论一些编码面试问题.我想知道如何在Python中使用两个堆栈来实现队列?Python不是我最强的语言,所以我需要所有的帮助.
像入队,出队和前线功能一样.