Haskell 支持二进制搜索以解决LIS的最合适的数据结构是什么?

Haskell 支持二进制搜索以解决LIS的最合适的数据结构是什么?,haskell,time-complexity,binary-search,lis,Haskell,Time Complexity,Binary Search,Lis,我想用耐心排序算法解决haskell中的问题 我第一次使用列表,它在O(n^2)时间内工作 现在我想创建一个算法,在O(n logn)时间内解决它。为此,我需要在插入每个值v时获得“第一次拟合”,换句话说,在n log n时间内查找最后一个元素大于v的第一堆 data OrderedStruct=未定义--??? --我需要一个方法来删除(n日志n)时间元素 PopFirstBiger::Ord a->a->OrderedStruct a->(可能是a,OrderedStruct a) popa

我想用耐心排序算法解决haskell中的问题

我第一次使用列表,它在O(n^2)时间内工作

现在我想创建一个算法,在O(n logn)时间内解决它。为此,我需要在插入每个值
v
时获得“第一次拟合”,换句话说,在n log n时间内查找最后一个元素大于v的第一堆

data OrderedStruct=未定义--???
--我需要一个方法来删除(n日志n)时间元素
PopFirstBiger::Ord a->a->OrderedStruct a->(可能是a,OrderedStruct a)
popa t=未定义
--一个用于将它们插入(n log n)或更快
插入::Ord a->a->OrderedStruct a->OrderedStruct a
插入一个t=未定义
我可以用一个平衡的二叉搜索树,但我想知道它是否存在一个最短的路径。 例如,我可以在二分法搜索中使用的任何结构都足够了

这种数据结构是否存在于标准haskell中(例如
Seq

否则,我可以使用哪种数据结构?

提供
插入
删除
,和
查找
,都在O(log n)时间内。

提供
插入
删除
,和
查找
,都在O(log n)时间内