Hello Codeforces!
I wanted to discuss something extremely important. About the name for Ordered Sets.
The normal std::set
is also ordered, then why is it not called ordered set? Ordered Sets aren't useful because they are just ordered, its because they also allow us to index the set.
Hence I believe Indexed Sets would be a better name for it. If you have any other suggestions for the name lmk!
Absolutely agree, petition to call it i_set
how about my_set?
our_set
capitalism :moyai:
true (orz)
Wtf strong
Everyone I know calls it indexed set lol
Everyone asks why ordered set, but no one asks how's ordered set :(
std::better_set
ah yes, betset for short
please stop making me think of what would bitter_set for short is..
ChronoSorted Vector
Chinese set
I see you have nothing better to do
Did you use magic to spy on him and see it?
idk whether he used magic to spy on me or not, but what he said was not untrue
Well, from my understanding it is called that as short for order statistic sets, since they provide order statistic about the set. But I agree, indexed set is a good name.
Ranked Set
rated set
set2
How do you index the
std::set
? I think, it doesn't have interface to find $$$k$$$-th element.Though, this set has it.
I believe the name comes from ordered statistics.
I believe the name
ordered_set
was popularized by this blog 10 years ago introducing Policy-based data structures here on Codeforces. The most accurate name for the data structure is probably Order Statistic Tree (USACO Guide also mentions the name here). However, you can abstract it as whatever makes the most sense (and convenient) to you. For me, I useindexed_set
because it sounds reasonable enough since you can practically index the set (not multiset) usingorder_of_key
. As a matter of fact, the Competitive Programmer's Handbook also mentions it here.Or if you're lazy,
using Set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
.