jjzjj

SortedSet

全部标签

c# - 构造函数中的 SortedSet<T> 和匿名 IComparer<T> 不起作用

为什么匿名函数可以作为方法的参数,而不是构造函数的参数?如果我创建一个List,它有一个带有以下签名的排序方法:publicvoidSort(IComparercomparer)以下工作的地方:Listlist=newList();list.Sort((a,b)=>a.CompareTo(b));SortedSet有一个具有类似签名的构造函数:publicSortedSet(IComparercomparer)但是在构造函数中使用匿名函数时会失败。以下内容无效:SortedSetset=newSortedSet((a,b)=>a.CompareTo(b));创建排序类按预期正常工作:p

c# - SortedSet<T> 与 HashSet<T>

我的问题是HashSet需要什么?当我们有SortedSet!HashSet的所有方法在SortedSet中也可用,而且SortedSet是有利的,因为它提供了已经排序的集合!即使那样HashSet也存在。那有什么用呢? 最佳答案 如果您不需要排序,则不应使用进行排序的类,因为这意味着您的应用程序将做比它需要做的更多的工作。(换句话说,这将使您的应用更快)。 关于c#-SortedSet与HashSet,我们在StackOverflow上找到一个类似的问题:

c# - SortedSet<T> 与 HashSet<T>

我的问题是HashSet需要什么?当我们有SortedSet!HashSet的所有方法在SortedSet中也可用,而且SortedSet是有利的,因为它提供了已经排序的集合!即使那样HashSet也存在。那有什么用呢? 最佳答案 如果您不需要排序,则不应使用进行排序的类,因为这意味着您的应用程序将做比它需要做的更多的工作。(换句话说,这将使您的应用更快)。 关于c#-SortedSet与HashSet,我们在StackOverflow上找到一个类似的问题:

c# - 非常大的集合的效率;迭代和排序

我有一个csv解析器,它读取15+百万行(有很多重复项),一旦解析为结构,就需要添加到集合中。每个结构都有属性Key(int)、A(datetime)和B(int)(以及此处不相关的其他属性)。要求A:集合需要通过键强制唯一性。要求B:在后面的步骤中,我需要按属性A(时间戳)然后B(整数)对集合进行排序。约束结构最终需要按顺序遍历,一个接一个,并引用邻居(LinkedList在这里提供了最干净的解决方案);此操作的要点是对集合进行分区。请假设这是最早可能发生的分区(即,它不能在解析阶段进行分区)。我发现SortedSet对于要求A工作得很好,而且它的性能也相当好,即使O(logn)插入

c# - 非常大的集合的效率;迭代和排序

我有一个csv解析器,它读取15+百万行(有很多重复项),一旦解析为结构,就需要添加到集合中。每个结构都有属性Key(int)、A(datetime)和B(int)(以及此处不相关的其他属性)。要求A:集合需要通过键强制唯一性。要求B:在后面的步骤中,我需要按属性A(时间戳)然后B(整数)对集合进行排序。约束结构最终需要按顺序遍历,一个接一个,并引用邻居(LinkedList在这里提供了最干净的解决方案);此操作的要点是对集合进行分区。请假设这是最早可能发生的分区(即,它不能在解析阶段进行分区)。我发现SortedSet对于要求A工作得很好,而且它的性能也相当好,即使O(logn)插入

c# - .NET 4.0 中是否有内置的二叉搜索树?

.NET4.0中是否有内置的二叉搜索树,或者我是否需要从头开始构建这种抽象数据类型?编辑这是专门针对二叉搜索树的,而不是一般的抽象数据类型“树”。 最佳答案 我认为SortedSet在System.Collections.Generic中上课正是您要找的。来自thisCodeProjectarticle:Itisimplementedusingaself-balancingred-blacktreethatgivesaperformancecomplexityofO(logn)forinsert,delete,andlookup.I

c# - .NET 4.0 中是否有内置的二叉搜索树?

.NET4.0中是否有内置的二叉搜索树,或者我是否需要从头开始构建这种抽象数据类型?编辑这是专门针对二叉搜索树的,而不是一般的抽象数据类型“树”。 最佳答案 我认为SortedSet在System.Collections.Generic中上课正是您要找的。来自thisCodeProjectarticle:Itisimplementedusingaself-balancingred-blacktreethatgivesaperformancecomplexityofO(logn)forinsert,delete,andlookup.I

c# - 为什么 SortedSet<T>.GetViewBetween 不是 O(log N)?

在.NET4.0+中,类SortedSet有一个方法叫做GetViewBetween(l,r),它返回树部分的接口(interface)View,其中包含两个指定值之间的所有值。鉴于SortedSet实现为红黑树,我自然期望它运行在O(logN)时间。C++中类似的方法是std::set::lower_bound/upper_bound,在Java中是TreeSet.headSet/tailSet,它们是对数的。然而,事实并非如此。以下代码在32秒内运行,而等效的O(logN)GetViewBetween的版本将使此代码在1-2秒内运行。vars=newSortedSet();intn

c# - 为什么 SortedSet<T>.GetViewBetween 不是 O(log N)?

在.NET4.0+中,类SortedSet有一个方法叫做GetViewBetween(l,r),它返回树部分的接口(interface)View,其中包含两个指定值之间的所有值。鉴于SortedSet实现为红黑树,我自然期望它运行在O(logN)时间。C++中类似的方法是std::set::lower_bound/upper_bound,在Java中是TreeSet.headSet/tailSet,它们是对数的。然而,事实并非如此。以下代码在32秒内运行,而等效的O(logN)GetViewBetween的版本将使此代码在1-2秒内运行。vars=newSortedSet();intn

【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】

目录一、NoSQL和SQL区别二、认识Redis三、Redis的数据结构介绍四、Redis通用命令五、String类型六、key的格式七、Hash(散列)类型八、List类型九、Set类型十、SortedSet类型(可排序)一、NoSQL和SQL区别二、认识Redis🍀Redis诞生于2009年,全称是RemoteDictionaryServer,远程字典服务器,是一个基于内存的键值型NoSQL数据库🍀键值(key-value)型,value支持多种不同数据结构,功能丰富🍀单线程,每个命令具备原子性🍀低延迟,速度快(基于内存、IO多路复用、良好的编码)🍀支持数据持久化🍀支持主从集群、分片集群🍀