Re: No trees in the stdlib?
- From: João Valverde <backup95@xxxxxxxxxx>
- Date: Sat, 27 Jun 2009 06:42:21 +0100
Aahz wrote:
In article <mailman.2170.1246042676.8015.python-list@xxxxxxxxxx>,
=?ISO-8859-1?Q?Jo=E3o_Valverde?= <backup95@xxxxxxxxxx> wrote:
What's lacking is an associative array that preserves ordering, doesn't require a hash function and has fast insertions and deletions in O(log(n)). The particular algorithm to achieve this is a secondary issue. It's a BST for sure, AVL vs RBT vs something else. It's my fault for having opened the topic with simply "trees" instead, it would have avoided this vagueness problem, but I'm genuinely surprised to know there are no data structures that efficiently support such a common need in Python. And I really enjoy the using this language.
Why AVL/RBT instead of B*? It's not that simple.... Another problem is
that unless the tree is coded in C, the constant factors are going to
swamp algorithmic complexity for many use cases -- that in turn makes it
more difficult to deploy a PyPI library for real-world testing.
I wouldn't consider anything other than C for such a module on efficiency alone, unless it was a prototype of course. But I have little knowledge about the Python C API.
About B* trees, again not an expert but I don't see how the added complexity brings any noticeable advantage to implement the associative array data structure I mentioned. Simple is better.
Anyway, I'm *not* trying to discourage you, just explain some of the
roadblocks to acceptance that likely are why it hasn't already happened.
If you're serious about pushing this through, you have two options:
* Write the code and corresponding PEP yourself (which leads to the
second option, anyway)
* Lobby on the python-ideas mailing list
Currently I don't have a strong need for this. I just believe it would be a benefit to a language I like a lot. Lobbying isn't my thing. I'd rather write code, but neither am I the most qualified person for the job. It would certainly be interesting and fun and challenging in a good way and a great way to learn some new stuff. But I would definitely need mentoring or asking some silly questions on the mailing list. Maybe I'll seriously consider it some other time.
.
- Follow-Ups:
- Re: No trees in the stdlib?
- From: alex23
- Re: No trees in the stdlib?
- From: Stefan Behnel
- Re: No trees in the stdlib?
- References:
- No trees in the stdlib?
- From: Tom Reed
- Re: No trees in the stdlib?
- From: Steven D'Aprano
- Re: No trees in the stdlib?
- From: Aahz
- Re: No trees in the stdlib?
- From: Aahz
- No trees in the stdlib?
- Prev by Date: Re: Beginning with Python; the right choice?
- Next by Date: Re: No trees in the stdlib?
- Previous by thread: Re: No trees in the stdlib?
- Next by thread: Re: No trees in the stdlib?
- Index(es):
Relevant Pages
|