哪个是可用于在Python中实现二进制树的最佳数据结构?
二进制搜索树比哈希表有什么优势?
哈希表可以在Theta(1)时间查找任何元素,并且添加元素也同样容易....但我不确定反过来的优势.
这是一个谷歌面试问题:
存储有大约一千个电话号码,每个电话号码具有10个数字.您可以假设每个数字的前5位数相同.您必须执行以下操作:搜索是否存在给定数字.湾 打印所有号码
这样做最有效的节省空间的方法是什么?
我回答哈希表和后来的霍夫曼编码,但我的采访者说我没有朝着正确的方向前进.请帮帮我.
可以使用后缀trie帮助吗?
理想情况下,1000个数字存储每个数字需要4个字节,因此总共需要4000个字节来存储1000个数字.在数量上,我希望将存储空间减少到<4000字节,这是我的采访者向我解释的内容.
这个问题可能已经过时了,但我想不出答案.
比如,有两个不同长度的列表,在某一点合并 ; 我们怎么知道合并点在哪里?
条件:

我正在阅读布隆过滤器,他们看起来很傻.使用bloom过滤器可以完成的任何事情,你可以在更少的空间内,更有效率地完成,使用单个散列函数而不是多个,或者它看起来像是什么.为什么要使用布隆过滤器?它有什么用?
我可以创建一个所有元素都是类型的NSMutableArray实例吗?SomeClass
generics collections objective-c strong-typing data-structures
我在接受采访时得到了这个问题.你怎么回答?
设计一个在O(1)时间内提供以下操作的数据结构:
Dijkstra的算法教给我如下
while pqueue is not empty:
distance, node = pqueue.delete_min()
if node has been visited:
continue
else:
mark node as visited
if node == target:
break
for each neighbor of node:
pqueue.insert(distance + distance_to_neighbor, neighbor)
Run Code Online (Sandbox Code Playgroud)
但是我一直在阅读关于算法的一些阅读,我看到的很多版本都使用了reduce-key而不是insert.
为什么会这样,这两种方法之间有什么区别?
algorithm dijkstra priority-queue graph-algorithm data-structures
我最近注意到,基于创意基础中数字的巧妙使用,部分或全部有很多算法.例如:
我的问题是:还有哪些其他算法使用聪明的数字系统作为他们直觉或证据的关键步骤?.我正在考虑就这个问题进行一次讨论,所以我必须从中得到更多的例子.
data-structures ×10
algorithm ×6
python ×2
binary-tree ×1
bloom-filter ×1
collections ×1
dijkstra ×1
generics ×1
graph ×1
hashtable ×1
linked-list ×1
math ×1
numbers ×1
objective-c ×1
search ×1