2011-04-21 52 views
1

我想知道是否有任何编程语言中的函数允许您测试集合论。例如一个库或一系列可以在大型集合上执行Combinatorics的体面算法。在编程中使用集合理论

我不需要基本的push/pop我想知道库的编程语言对UNION CONCAT INTERSECTIONS和Compliments等函数有什么样的编程语言,以及比较100k +元素集的子集。

我知道这听起来像一个数学问题......也许不是,但我更期待一种编程语言,它旨在快速处理大集合,因为我知道我的算法会很慢。

+0

这听起来像SQL工作... – Johan 2011-04-21 01:04:31

回答

2

标准Python set类型提供这些操作。不保证速度将成为您所需要的,因为您尚未说明性能要求。

0
  • LINQ
  • 功能语言
  • ř

....

0

您可以使用Scala,它有很好的支持!例如:

val set1 = Set(1,2,3,4) 
val set2 = Set(3,4,5,6) 
set1 & set2 //gives intersection 
set1 intersect set2 //also possible to write 
set1 | set2 //or set1 union set2 gives union 
set1 &~ set2 //or set1 diff set2 gives difference 

而且不同的实现,有利于具体问题,他们的SortedSet,位集合,HashSet的等