"Anton Vredegoor" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
| Paul Rubin wrote:
|
| > Well there are various hacks one can think of, but is there an actual
| > application you have in mind?
|
| Suppose both input lists are sorted. Then the product list is still not
|  sorted but it's also not completely unsorted. How can I sort the
| product? I want to know if it is necessary to compute the complete
| product list first in order to sort it. Is it possible to generate the
| items in sorted order using only a small stack?

If you have lists A and B of lengths m and n, m < n, and catenate the m 
product lists A[0]*B, A[1]*B, ..., A[m-1]*B, then list.sort will definitely 
take advantage of the initial order in each of the m sublists and will be 
faster than sorting m*n scrambled items (which latter is O(m*n*log(m*n))).

One could generate the items in order in less space by doing, for instance, 
an m-way merge, in which only the lowest member of each of the m sublists 
is present at any one time.  But I don't know if this (which is 
O(m*n*log(m))) would be any faster (in some Python implementation) for any 
particular values of m and m.

Terry Jan Reedy



-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to