Jump to content

Talk:Stern-Brocot sequence: Difference between revisions

→‎deque over list?: remove unnecessary call to sum in deque example.
(→‎deque over list?: remove unnecessary call to sum in deque example.)
Line 37:
...: sb = deque([1, 1])
...: while True:
...: sb += [sum(sb[0] + sb[1]), sb[1]]
...: yield sb.popleft()
...:
Line 56:
 
%time [1 + sum(1 for i in takewhile(lambda x: x != occur, stern_brocot2())) for occur in (list(range(1, 11)) + [2500])]
Wall time: 2.46215 sms
Out[3337]: [1, 3, 5, 9, 11, 33, 19, 21, 35, 39, 152931]
 
%time [1 + sum(1 for i in takewhile(lambda x: x != occur, stern_brocot2())) for occur in (list(range(1, 11)) + [2500])]
Wall time: 2.49225 sms
Out[3438]: [1, 3, 5, 9, 11, 33, 19, 21, 35, 39, 152931]
 
%time [1 + sum(1 for i in takewhile(lambda x: x != occur, stern_brocot2())) for occur in (list(range(1, 11)) + [2500])]
Wall time: 2.48223 sms
Out[3539]: [1, 3, 5, 9, 11, 33, 19, 21, 35, 39, 152931]</lang>
 
The deque is faster, (and the margin increases for later members of the series).
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.