News for hackers. Stuff that matters.
Re:WikiSort – Fast, stable, O(1) space merge sort algorithm by jmpeax on Sunday March 16, 2014 @05:49AM (#7408823)
So, is there such a thing as a useful O(1)-space algorithm? I can't think of a single one.
Re:WikiSort – Fast, stable, O(1) space merge sort algorithm by repsilat on Sunday March 16, 2014 @07:31AM (#7409055)
(Particular, individual) regular expressions can be implemented with O(1) space. Regular expressions can do lots of useful things.
Re:WikiSort – Fast, stable, O(1) space merge sort algorithm by jmpeax on Wednesday March 26, 2014 @08:39PM (#7477780)
This is incorrect, under deliriums pedantic interpretation of space complexity. Some regular expressions require one to accept a certain number of examples of a character. This means that storage space for the count is required, which scales logarithmically in the count.
Re:WikiSort – Fast, stable, O(1) space merge sort algorithm by repsilat on Thursday April 03, 2014 @04:02AM (#7521501)
This is why my comment began with the words "particular, individual". A regex like (1{5}0{3})\* can be implemented in constant space, but a language like

    matches(n, m, string):
        return matches((1{n}0{m})\*, string)
cannot.

Just think about it -- the former is just a DFA, and so of course you can do it in constant space (provided your input stream is abstracted away, or you use a TM.

Re:WikiSort – Fast, stable, O(1) space merge sort algorithm by JackpotDen on Monday March 17, 2014 @12:30PM (#7416066)
int x = 0;

x++;

would be two examples.

Re:WikiSort – Fast, stable, O(1) space merge sort algorithm by jmpeax on Wednesday March 26, 2014 @08:37PM (#7477771)
How many times would you need to execute line 2? The more times you need to do this, the more values x needs to be able to represent. So running x++ in O(n) time means the space needed to store the accumulation grows as O(n log_2 n)... under delirium's "pedantic" interpretation of space complexity.

Unknowingly you have allowed me to stumble onto an actual algorithm with O(1) storage pace, that is, one where there are n numbers, and you want to calculated the modulo-k sum. In this case, the algorithm scales logarithmically in the constant parameter k, but O(1) in n.