On 16Jul2016 19:49, Dennis Lee Bieber <wlfr...@ix.netcom.com> wrote:
On Sat, 16 Jul 2016 15:33:12 -0700 (PDT), Shrey Desai
<shrey.de...@gmail.com> declaimed the following:
- Education: the Linked List is a core data structure that CS undergraduates
(among others) use and study, so it is vital that they have hands on access
to them. A list is basically a dynamic array; the only property it shares
with a Linked List is that it's dynamic.
My CS courses required us to implement our own linked lists (in FORTRAN
IV yet). Providing a built-in linked list just negates the educational
aspect.
I was thinking this exact same thing.
- Development: the use of correct data structures is important when
developing applications, especially for issues like scaling and efficiency.
For instance, when working with polynomials, Linked Lists provide a great
interface to access and edit them.
What does having links gain you that you don't get from a regular list
with slicing?
Well, in a larger context you can keep a reference to an element deep in the
list, and insert a new element in O(1) time at that point.
The usualy argument against providing linked lists and other basic graph
related functions in the stdlib is that there are in practice many many
decisions one can make about exactly what kind of implementation specifics one
might like in such a thing, and what methods to present for use with the thing.
On the flip side, implementing a simple linked list in a specific context is
pretty trivial as Chris has demonstrated. I do take the point that a
preexisting (and hopefully debugged) class would obviate a testing burden for
users. Provided the class provided enough. If it didn't the end user is back to
replacing or extending it, and having to test anyway.
To the OP: have you looked in PyPI and found no graph classes?
Cheers,
Cameron Simpson <c...@zip.com.au>
--
https://mail.python.org/mailman/listinfo/python-list