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