Kingsley G. Morse Jr. wrote:
     $ echo -e "b\na\nb" | awk '!seen[$0]++'

It basically avoids sorting by using hashed
indexes into an associative array to find
previously seen values in about O(N) time.

No, it's still O(N log N) because hash table lookup is really O(log N), despite what many textbooks say. Though no doubt we could make it faster than than the sorting pipeline, it wouldn't be algorithmically faster. See, for example:

https://lemire.me/blog/2009/08/18/do-hash-tables-work-in-constant-time/



Reply via email to