Questions tagged «sets»

有关有限和无限集与多重集,相关数据结构和概念的问题。

4
集合和类型之间的语义区别到底是什么?
编辑:我现在已经问过有关类别和集合之间差异的类似问题。 每当我读到类型理论(这诚然是相当非正式的),我无法真正了解它集理论的不同之处,具体。 我知道说“ x属于一个集合X”和“ x是类型X”之间存在概念上的区别,因为从直觉上讲,集合只是对象的集合,而类型具有某些“属性”。尽管如此,集合通常也根据属性进行定义,如果确实如此,那么我将很难理解这种区别的重要性。 所以在最具体的方式可能,究竟是什么暗示 关于xxx的说,它的类型是,比说,这是集合的元素?TTTSSS (您可以选择任何类型和设置以使比较最清晰)。
33 type-theory  sets 

5
布尔搜索说明
我的母亲正在学习一些在线课程,以便成为一名图书馆员,在此课程中,他们涵盖布尔搜索,因此他们可以有效地搜索数据库,但是,她遇到了一个听起来像这样的问题: 搜索“ x OR y”将产生105,000次点击,而仅搜索x将产生80 000次点击,仅搜索y将获得35000次点击。当组合的单个搜索给出115,000次点击时,为什么搜索“ x OR y”给出105,000次点击? 对我来说,这听起来很奇怪,所以我自己用培根和三明治一词进行了测试。 仅培根产生了1.79亿个结果 仅三明治生产了3.12亿个结果 培根或三明治给出了491,000,000的结果 但对我来说加起来:1.79亿(培根)+ 3.12亿(三明治)= 4.91亿(培根或三明治) 为什么OR查询的命中次数少于两个查询的总和?
29 sets  counting 

6
在O(n)时间中:在不传递比较的集合中找到最大元素
标题说明了问题。 作为输入,我们可以比较一个元素列表(确定最大)。没有元素可以相等。 关键点: 比较不是传递性的(想像石头剪刀布):这可能是正确的:A> B,B> C,C> A (请注意,这不是有效的输入,因为此处没有有效的答案,我仅描述“非及物比较”) 每个输入数组将保证有一个答案 最大表示元素必须大于其他所有元素 拥有逆属性,即A> B表示B <A 例: Input: [A,B,C,D] A > B, B > C, C > A D > A, D > B, D > C Output: D 我无法找出在O(n)时间内完成此操作的方法,我最好的解决方案是O(n ^ 2)。 因为要确定答案,所以必须将每种元素与其他所有元素进行显式比较,以证明它确实是答案(因为比较不是可传递的),因此我对每种方法都感到困惑。 这排除了堆的使用,排序等。

4
集合相交的数据结构?
是否有任何数据结构可以维护(有限基础集的)集合的集合,从而支持以下操作?任何亚线性运行时间将不胜感激? 初始化一个空集。 将元素添加到集合中。 给定两个集合,报告它们是否相交。

1
基于分区细化的算法比对数线性时间运行更快的问题
分区优化是一种从有限的对象集开始并逐步拆分对象集的技术。使用分区细化可以非常有效地解决某些问题(例如DFA最小化)。除了Wikipedia页面上列出的问题之外,我不知道通常可以使用分区优化来解决任何其他问题。在所有这些问题中,维基百科页面提到了两个基于线性分区优化的算法。有按字典顺序排序的拓扑排序[1]和按字典广度优先搜索的算法[2]。 是否还有其他示例或对可以使用分区细化有效解决的问题的引用,这在时间上比对数线性好? [1] Sethi,Ravi,“在两个处理器上调度图形”,SIAM计算杂志5(1):73-82,1976年。 [2] Rose,DJ,Tarjan,RE,Lueker,GS,“图上顶点消除的算法方面”,SIAM计算杂志5(2):266-283,1976。

4
给定一组集合,从每个集合中找出包含至少一个元素的最小集合
给定一组套,我想找到一套,使得每一套在包含至少一个元素。我还希望在满足此标准的同时包含尽可能少的元素,尽管可能存在不止一个具有此属性的最小(解决方案不一定是唯一的)。S小号\mathbf{S}S S M M MM中号MS小号SS小号\mathbf{S}M中号MM中号MM中号M 作为一个具体的例子,假设一套是一组的国旗,并为每个标志在,元素是在该国的国旗使用的颜色。美国将具有而摩洛哥将具有。那么将是一组颜色,其属性是每个国旗至少使用一种颜色。(奥林匹克颜色蓝色,黑色,红色,绿色,黄色和白色是这种的示例,至少在1920年是这样。) S S S = { r e dS小号\mathbf{S}S小号SS小号\mathbf{S}S = { r e d ,g r e e n } M M MS={red,瓦特ħ 我吨e,blue}小号={[RËd,wH一世ŤË,b升üË}S = \{red, white, blue\}S={red,g[Reen}小号={[RËd,G[RËËñ}S = \{red, green\}M中号MM中号MM中号M 这个问题有通用名称吗?是否有公认的“最佳”算法来查找集合?(我对解决方案本身更感兴趣,而不是对计算复杂度进行优化。)M中号M

5
如何找到最大集合元素的
我有一个算法问题。 TŤTnñnSSSTTTa∈Sa∈Sa\in Sa⩾|S|a⩾|S|a\geqslant |S| 例如: 如果 = [1、3、4、1、3、6],则可以为[3、3、6]或[3、4、6]或[4、3、6]。TTTSSS 在 = [7,5,1,1,7,4]中,则为[7,5,7,4]。小号TTTSSS 我已经尝试过此递归函数。 function(T): if minimum(T) >= length(T): return T else: return function(T\minimum(T)) 是否有任何非递归算法。(我没有检查我的递归算法,所以它可能有一些缺陷。)

4
计算两个大集合之间的集合差
我有两个大的整数集的AAA和BBB。每组有大约一百万个条目,每个条目是一个正整数,最长为10位数字。 计算A∖BA∖BA\setminus B和的最佳算法是什么B∖AB∖AB\setminus A?换句话说,如何有效地计算不在B中的条目列表,反之亦然?代表这两组数据,使这些操作高效的最佳数据结构是什么?AAABBB 我能想到的最好方法是将这两个集合存储为排序列表,并以线性方式将AAA每个元素与每个元素进行比较BBB。我们可以做得更好吗?

4
寻找“指纹”集合
假设我们有10个人,每个人都有喜爱的书籍清单。对于给定的人X,我想找到X的一个特殊子集,该子集仅被X所喜欢,也就是说,没有其他人喜欢X的特殊子集中的所有书。我认为这个特殊子集是X的唯一“指纹”。 我希望能找到有关找到此类集合的方法的建议。(虽然这听起来像是一个家庭作业问题,但它与我要解决的生物学研究中的问题有关。)
11 algorithms  sets 

4
类别和集合之间的语义区别到底是什么?
在这个问题中,我问set和type有什么区别。这些答案确实很明确(例如,@ AndrejBauer),因此出于对知识的渴求,我倾向于对类别进行同样的询问: 每当我读到范畴理论(这诚然是相当非正式的),我无法真正了解它集理论的不同之处,具体。 所以在最具体的方式可能,究竟是什么暗示 关于xXx的说,它是在类,比说,?(例如,说是一个组与说在类别中有什么区别?)。X ∈ 小号X X G ^ - [R pCCCx∈SX∈小号x\in SxXxxXxGrpG[Rp\mathrm {Grp} (您可以选择任何类别并进行设置,以使比较最清晰)。

1
表示集合分区的紧凑方式是什么?
存在用于表示集合分区的有效数据结构。这些数据结构对诸如Union和Find这样的操作具有良好的时间复杂性,但是它们并不是特别节省空间。 一种节省空间的方式来表示集合的分区是什么? 这是一个可能的起点: 我知道 具有元素的集合的分区数是,即第个贝尔数。因此,表示具有元素的集合分区的最佳空间复杂度是 位。为了找到这样的表示,我们可以寻找(一组元素的分区集合)与(一组从到的整数)之间的一对一映射。NNNBNBNB_NNNNNNNlog2(BN)log2⁡(BN)\log_2(B_N)NNN111BNBNB_N 有没有这样的映射可以有效地计算?我所说的“高效”是指我想将此紧凑表示形式转换为或时间多项式中的/易于操作的表示形式(例如列表列表。NNNlog2(BN)log2⁡(BN)\log_2(B_N)

3
什么是无上下文语言的补充?
我需要知道什么类别的CFL是封闭的,即什么集合是CFL的补充。我知道CFL不是在补码下关闭的,我知道P在补码下是关闭的。由于CFL PI可以说CFL的补语包含在P中(对吗?)。仍然存在一个问题,CFL的补语是P还是整个P的适当子集。对于如何显示CFL​​的补语是整个P(如果是这种情况),我将不胜感激。⊊⊊\subsetneq

2
寻找具有较小内存占用的固定实现
我正在寻找设置数据类型的实现。也就是说,我们必须 维持一个动态子集(的大小从宇宙)U = \ {0,1,2,3,\点中,u - 1 \}大小的ü与Ñ Ù = { 0 ,1 ,2 ,3 ,... ,ù - 1 } üSSSnnnU={0,1,2,3,…,u–1}U={0,1,2,3,…,u–1}U = \{0, 1, 2, 3, \dots , u – 1\}uuu 操作insert(x)(将元素添加x到SSS)和find(x)(检查元素是否x为S的成员SSS)。 我不在乎其他操作。对于定向,在我正在使用的应用程序中,我们有u≈1010u≈1010u \approx 10^{10}。 我知道在O(1)时间内同时提供这两种操作的实现O(1)O(1)O(1),所以我主要担心数据结构的大小。我希望有数十亿个条目,但希望避免交换。 如果有必要,我愿意牺牲运行时间。我可以接受O(\ log n)的摊销运行时间O(logn)O(log⁡n)O(\log n);不允许使用预期的运行时或ω(logn)ω(log⁡n)\omega(\log n)中的运行时。 我的一个想法是,如果SSS可以表示为范围的并集[xmin, xmax],那么我们将能够以一些性能下降的代价节省存储空间。同样,其他一些数据模式也是可能的,例如[0, 2, 4, 6]。 您能否指出我可以执行类似操作的数据结构?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.