最近我在业余时间学习了不同的算法,我发现了一个非常有趣的算法,叫做HyperLogLog算法——它可以估计一个列表中有多少个唯一的项目。这对我来说特别有趣,因为它让我回到了我使用MySQL的日子,当时

假设您想递归地实现一个二叉树的宽度优先搜索。你会怎么做?是否可以只使用调用堆栈作为辅助存储?

好吧——我几乎不好意思在这里张贴这个(如果有人投票关闭,我会删除),因为这似乎是一个基本的问题。这是在c++中四舍五入到一个数字的倍数的正确方法吗?我知道还有其他与此相关的问题,但我特别感兴趣的是,在

我需要一个滚动窗口(又名滑动窗口)可迭代的序列/迭代器/生成器。(默认的Python迭代可以被认为是一种特殊情况,其中窗口长度为1。)我目前正在使用以下代码。我怎样才能做得更优雅和/或更有效?对于wi

我正在寻找一个非二叉树的非递归深度优先搜索算法。任何帮助都非常感激。

我将一些代码放在一起,以平抑和反平抑复杂/嵌套的JavaScript对象。它可以工作,但有点慢(触发“长脚本”警告)。对于扁平的名称,我希望用“.”作为分隔符,用[INDEX]作为数组。例子:我创建了

我很困惑大O和大符号之间的区别。我知道大O是上界,大Omega是下界,但大Ө (theta)到底代表什么?我读到过它的意思是紧束缚,但那是什么意思呢?

堆和BST的区别是什么?什么时候使用堆,什么时候使用BST?如果你想以排序的方式获取元素,BST比堆更好吗?

我在一次工作面试中被问到这个问题,我想知道其他人是如何解决这个问题的。我最擅长使用Java,但也欢迎使用其他语言的解决方案。给定一个数字数组nums,返回一个数字数组products,其中produc

当遍历树/图时,广度优先和深度优先之间的区别是什么?任何编码或伪代码示例都很好。