Copyright | (c) 2016 Stephen Diehl (c) 2016-2018 Serokell (c) 2018-2019 Kowainik |
---|---|
License | MIT |
Maintainer | Kowainik <xrom.xkov@gmail.com> |
Safe Haskell | Safe |
Language | Haskell2010 |
Relude.Nub
Description
Functions to remove duplicates from a list.
Performance
To check the performance there was done a bunch of benchmarks.
Benchmarks were made on lists of Int
s and Text
s.
There were two types of list to use:
- Lists which consist of many different elements
- Lists which consist of many same elements
Here are some recomendations for usage of particular functions based on benchmarking resutls.
Documentation
sortNub :: Ord a => [a] -> [a] #
Like ordNub
runs in \( O(n \log n) \) but also sorts a list.
>>>
sortNub [3, 3, 3, 2, 2, -1, 1]
[-1,1,2,3]
unstableNub :: (Eq a, Hashable a) => [a] -> [a] #
Like hashNub
runs in \( O(n \log_{16} n) \) but has better performance; it doesn't save the order.
>>>
unstableNub [3, 3, 3, 2, 2, -1, 1]
[1,2,3,-1]