3 ms·
In pure time terms it is worse, as the best prior was O$(2^.5n). However, that algorithm took O$(2^.25n) space. This algorithm uses only polynomial space but ru
by bradleyjg 10y ago
In pure time terms it is worse, as the best prior was O$(2^.5n). However, that algorithm took O$(2^.25n) space. This algorithm uses only polynomial space but runs in O$(2^.86n) time. The naive solution runs in O$(2^n) and polynomial space.
I believe this top line result will mostly be of interest to Computer Scientists, as a practical matter these problems are rarely solved exactly because even the fast algorithms are far too slow for non-trivial problem sizes.
However, this part regarding the "list disjointment problem" may be of wider interest:
"Underlying these results is an algorithm that determines whether two given lists of length n with integers bounded by a polynomial in n share a common value. Assuming random read-only access to random bits, we show that this problem can be solved using O(log n) space significantly faster than the trivial O(n^2) time algorithm if no value occurs too often in the same list."
N.B. The HN parser won't let me use stars, so read star for each of the dollar signs in the first paragraph.
- the8472 10y agoyou could use the multiplication sign × or the middle dot ·
- IanCal 10y agoThe star here is not a multiplication. A bit more info on O star http://math.stackexchange.com/questions/672281/what-is-the-difference-between-the-big-o-and-big-o-star-asterisk-operator http://math.stackexchange.com/questions/672281/what-is-the-d...
- the8472 10y agoAh well, then there's the mathematical asterisk operator O∗ (U+2217) which is separate from the ascii asterisk O* and you could also use the "combining asterisk above" O ⃰ (O, whitespace, combining char) although that's probably abuse of the characters. The rules say > Text surrounded by asterisks is italicized, if the character after the first asterisk isn't whitespace. But apparently noen of the zero-width spaces are not counted as whitespace.