Tag: 数据结构

是否有可能查询一个单一的查询在MySQL中的树形结构表,到任何深度?

我想答案是否定的,但我很喜欢它有人有任何洞察到如何抓取一个树结构到SQL(MySQL)的任何深度,但与一个单一的查询 更具体地说,给定一个树形结构的表(id,data,data,parent_id)和表中的一行,是否有可能获得所有的后代(子/孙/ etc),或所有的祖先(父母/祖父母/等),而不知道它会走多远,使用一个单一的查询? 或者正在使用某种recursion要求,在那里我一直查询更深,直到没有新的结果? 具体来说,我使用Ruby和Rails,但我猜这不是很相关。

LRUcachingdevise

最近最less使用(LRU)caching是放弃最近最less使用的项目首先如何devise和实现这样的caching类? devise要求如下: 1)尽可能快地find物品 2)一旦caching未命中并且caching已满,我们需要尽快replace最近最less使用的项目。 如何从devise模式和algorithmdevise的angular度分析和实现这个问题?

什么是最快(访问)类似于Python的结构对象?

我正在优化一些主要瓶颈正在运行的代码,并访问一个非常大的类结构对象列表。 目前我正在使用namedtuples,为了可读性。 但是一些使用“timeit”的快速基准testing表明,在性能是一个因素的情况下,这确实是一个错误的方法: 用a,b,c命名元组: >>> timeit("z = ac", "from __main__ import a") 0.38655471766332994 使用__slots__类,与a,b,c: >>> timeit("z = bc", "from __main__ import b") 0.14527461047146062 带键a,b,c的字典: >>> timeit("z = c['c']", "from __main__ import c") 0.11588272541098377 带三个值的元组,使用一个常量键: >>> timeit("z = d[2]", "from __main__ import d") 0.11106188992948773 列出三个值,使用一个常量键: >>> timeit("z = e[2]", "from __main__ import e") 0.086038238242508669 具有三个值的元组,使用本地键: >>> […]

trie和radix trie数据结构有什么区别?

trie和radix trie的数据结构是一样的吗? 如果它们是相同的,那么基数特里(AKA Patricia trie)的含义是什么?

用于学习数据结构和algorithm的编程语言select

你会推荐哪种编程语言 来学习 数据结构和algorithm ? 考虑以下几点: 个人经验 语言特性(指针,OO等) 适合学习DS&A概念 我问,因为有一些书是在编程语言不可知论(从math的angular度来看,并使用伪代码)。 如果我从中学习,我想select一种编程语言来编写和运行algorithm。 然后,还有其他一些书介绍DS&A的概念,用特定的编程语言编写的例子 – 我也想对这些algorithm进行编码 – 因此,在一定程度上,语言也会select这本书。 无论哪种方式,我必须select一种语言,我宁愿坚持一个。 抛开个人语言偏好,哪一个最适合这个目的?

什么是Python中最高效的graphics数据结构?

我需要能够操纵python中的大型(10 ^ 7节点)图。 对应于每个节点/边的数据是最小的,比如less量的string。 在内存和速度方面,最有效率的方式是什么? 字典的字典是更灵活和更简单的实施,但我直观地期望列表的速度更快。 列表选项还要求我将数据与结构保持分开,而字典将允许某种types的数据: graph[I][J]["Property"]="value" 你会build议什么? 是的,我应该更清楚我的意思是效率。 在这个特定的情况下,我的意思是随机访问检索。 将数据加载到内存不是一个大问题。 这一劳永逸。 耗时的部分是访问节点,所以我可以提取信息,并衡量我感兴趣的指标。 我没有考虑让每个节点都是一个类(所有节点的属性都是相同的),但是似乎会增加额外的开销。 我希望有人会有类似的情况下直接经验,他们可以分享。 毕竟,图是CS中最常见的抽象之一。

Prim和Dijkstraalgorithm之间的区别?

Dijkstra和Prim的algorithm有什么区别? 我知道Prim会给MST,但是Dijkstra生成的树也会是MST。 那么究竟有什么区别?

什么是sortingNSSet最有效的方法?

根据集合中对象的属性,在NSSet / NSMutableSetsorting对象的最有效方法是什么? 现在我正在做的方式是遍历每个对象,将它们添加到一个NSMutableArray ,并用NSSortDescriptorsorting该数组。

你如何在C中实现一个循环缓冲区?

我需要一个固定的大小(创build时可以在运行时select,而不是编译时)可以容纳任何types的对象的循环缓冲区,它需要非常高的性能。 我不认为会有资源争夺问题,因为虽然它是在一个多任务embedded式环境中,但它是一个合作的环境,所以任务本身可以pipe理这个问题。 我最初的想法是存储一个简单的结构在缓冲区中将包含types(简单的枚举/定义)和一个无效的指针有效载荷,但我希望这是尽可能快,所以我打开的build议,涉及绕过堆。 其实我很高兴绕过任何标准库的原始速度 – 从我所看到的代码,它没有严格优化的CPU:它看起来像他们只是编译C代码的东西,如strcpy()等,没有手工编码的组件。 任何代码或想法将不胜感激。 所需的操作是: 创build一个特定大小的缓冲区。 放在尾部。 从头开始。 返回计数。 删除一个缓冲区。

如何从Java中的数组中删除对象?

给定一个n对象的数组,假设它是一个string数组 ,它具有以下值: foo[0] = "a"; foo[1] = "cc"; foo[2] = "a"; foo[3] = "dd"; 我需要做些什么来删除/删除数组中的所有string/对象等于“a” ?