Have you read the Python docs lately?

Dan Stromberg drsalists at gmail.com
Wed Apr 27 18:19:26 EDT 2011


On Wed, Apr 27, 2011 at 10:56 AM, Raymond Hettinger <python at rcn.com> wrote:
> A number of developers have been working on adding examples and useful
> advice to the docs.  To sharpen your skills, here are some pieces of
> recommended reading:
>
> http://docs.python.org/dev/library/heapq.html#priority-queue-implementation-notes

I believe there isn't any reason why a heap _has_ to be stored in an
array - it's just one of the best representations.  Or so I was taught
in school.  Though granted, in _Python_ most heaps are arrays, because
the standard library implements them as arrays - perhaps this is what
was meant.

> http://docs.python.org/dev/library/bisect.html#searching-sorted-lists
>
> http://docs.python.org/dev/library/re.html#writing-a-tokenizer
>
> http://docs.python.org/dev/library/cmd.html#cmd-example
>
> http://docs.python.org/dev/library/collections.html#ordereddict-examples-and-recipes

Boy, all this sorting...  It seems like it'd be better to use a treap
or red black tree, even when you take into account that Python's sort
will tend to handle adding a single value in O(n) time - because the
treap or red black tree should handle the task in O(logn) time with a
low constant.

http://stromberg.dnsalias.org/~strombrg/treap/
http://newcenturycomputers.net/projects/rbtree.html

A treap should give better average case time than a red black tree,
but a red black tree should give a decent average case with less time
variability.

> http://docs.python.org/dev/howto/logging.html
>
> http://docs.python.org/dev/howto/sorting.html
>
> http://docs.python.org/dev/library/collections.html#collections.namedtuple



More information about the Python-list mailing list