[Python-Dev] python generator design bug?
Neil Schemenauer
nas@python.ca
Mon, 27 Aug 2001 09:23:49 -0700
Eric Kidd thinks so:
http://www.advogato.org/person/emk/
Here's an excerpt:
[...] there's a subtle bug in the Python design. Consider tree
traversal:
def inorder(t):
if (t.left != None):
for (node in inorder(t.left)):
yield node
yield t
if (t.right != None):
for (node in inorder(t.right)):
yield node
If you study this carefully, you'll see that (unless the optimizer
intervenes), Python has turned a perfectly good O(N) tree traversal
into an O(N log N) traversal.
Thoughts?
Neil