我正在阅读Tries通常称为前缀树和Suffix Trees.
虽然我找到了代码,但Trie我找不到一个例子Suffix Tree.此外,我感觉构建a的代码与a的代码Trie相同,Suffix Tree唯一的区别是在前一种情况下我们存储前缀但在后面的后缀中.
这是真的?任何人都可以帮我解决这个问题吗?一个示例代码将是很好的帮助!
我看了KD树和R树的定义.在我看来,他们几乎是一样的.
KD树和R树之间有什么区别?
我遇到了一个采访问题"如果你正在设计一个网络爬虫,你将如何避免进入无限循环?"我试图回答它.
这一切从一开始就是如何开始的.比如谷歌开始时,一些中心页面上说有数百个(首先如何找到这些中心页面是一个不同的子问题).当Google跟踪来自页面的链接等时,它是否继续制作哈希表以确保它不遵循先前访问过的页面.
如果同一页面有2个名称(URL),如果我们有URL缩短器等,那么该怎么办呢?
我以谷歌为例.虽然谷歌没有泄漏其网络爬虫算法和页面排名等的工作方式,但任何猜测?
search-engine large-data-volumes web-crawler google-search data-structures
我有这个string s1 = "My name is X Y Z",我想扭转这些词的顺序s1 = "Z Y X is name My".
我可以使用额外的数组来做到这一点.我认为很难,但有可能在现场(不使用额外的数据结构)并且时间复杂度为O(n)吗?
我需要一个固定大小(在创建它时可在运行时选择,而不是编译时)循环缓冲区,它可以容纳任何类型的对象,并且它需要非常高的性能.我不认为会有资源争用问题,因为虽然它是在多任务嵌入式环境中,但它是一个合作的,所以任务本身可以管理它.
我最初的想法是在缓冲区中存储一个简单的结构,它包含类型(简单的枚举/定义)和一个指向有效负载的void指针,但我希望它尽可能快,所以我愿意接受绕过的建议堆.
实际上我很高兴绕过任何标准库的原始速度 - 从我所看到的代码来看,它没有针对CPU进行大量优化:看起来他们只是为了类似的东西编译C代码,strcpy()没有手工编码组装.
任何代码或想法将不胜感激.所需的操作是:
最近最少使用(LRU)缓存首先丢弃最近最少使用的项目如何设计和实现这样的缓存类?设计要求如下:
1)尽可能快地找到项目
2)一旦缓存未命中并且缓存已满,我们需要尽快替换最近最少使用的项目.
如何在设计模式和算法设计方面分析和实现这个问题?
我需要能够在python中操作一个大的(10 ^ 7个节点)图形.对应于每个节点/边缘的数据是最小的,例如,少量的字符串.在内存和速度方面,最有效的方法是什么?
dicts的词典更灵活,更易于实现,但我直观地期望列表列表更快.list选项还要求我将数据与结构分开,而dicts允许这样的东西:
graph[I][J]["Property"]="value"
Run Code Online (Sandbox Code Playgroud)
你会建议什么?
是的,我应该对效率的意思更清楚一点.在这个特殊情况下,我的意思是随机访问检索.
将数据加载到内存中不是一个大问题.这是一劳永逸的.耗时的部分是访问节点,因此我可以提取信息并测量我感兴趣的指标.
我没有考虑过让每个节点成为一个类(所有节点的属性都相同),但似乎会增加一层额外的开销?我希望有人可以直接体验他们可以分享的类似案例.毕竟,图形是CS中最常见的抽象之一.
在C/C++中是否有任何速度和缓存效率的trie实现?我知道什么是特里,但我不想重新发明轮子,自己实施.
Java中哪些数据结构对contains()的运行速度最快?
例如,我有一组数字{1,7,12,14,20 ...}
给定另一个任意数x,生成布尔值的最快方式(平均)是否包含在集合中?!contains()的概率大约高出5倍.
所有地图结构都提供o(1)操作吗?HashSet是最快的方式吗?
这不是一个非常罕见的问题,但我似乎无法找到真正解释选择的答案.
我有一个非常大的字符串列表(确切地说是SHA-256哈希的ASCII表示),我需要查询该列表中是否存在字符串.
此列表中可能会有超过1亿条目,我需要多次重复查询条目的存在.
考虑到尺寸,我怀疑我可以把它全部塞进去HashSet<string>.什么是适当的检索系统,以最大限度地提高性能?
我可以预先对列表进行排序,我可以把它放到一个SQL表中,我可以把它放到一个文本文件中,但我不确定在我的应用程序中哪些是最有意义的.
这些或其他检索方法在性能方面是否有明显的优势?
data-structures ×10
algorithm ×3
c ×2
c++ ×2
performance ×2
trie ×2
c# ×1
graph-theory ×1
java ×1
kdtree ×1
lookup ×1
lru ×1
python ×1
r-tree ×1
set ×1
string ×1
suffix-tree ×1
web-crawler ×1