Data structures and Algorithms

DL Neil PythonList at DancesWithMice.info
Tue Jun 30 13:34:58 EDT 2020


On 1/07/20 1:18 AM, Richard Damon wrote:
> On 6/30/20 8:26 AM, Cameron Simpson wrote:
>> On 30Jun2020 10:52, satyaprasad <satyaprasad at mail.g> wrote:
>>> Hi, I am currently in learning process of python have been worked on
>>> some desktop application using pyqt . I want improve my DSA area but i
>>> searched so many videos mot sure how to start . 1.Do i really need learn
>>> datastructures in c or c++ to get complete logical details. 2 .or shall
>>> i start learn using python itself then where to start . Can some one
>>> give me a road map for DSA with python.
>> In my opinion you are better off using Python. In C and (less so) in C++
>> there is a lot of cruft around managing memory and allocating sizes, not
>> to mention additional verbiage. In Python you are far freer to
>> concentrate on the data structures and algorithms themselves.
>>
>> Maybe start here:
>>
>>      https://duckduckgo.com/html?q=python%20data%20structures%20and%20algorithms%20tutorials
>>
>> Cheers,
>> Cameron Simpson <cs at cskk.id.au>
> 
> I would disagree a bit here, a lot depends on WHY and WHAT you want to
> learn about Data Structures and Algorithms. A lot of learning Data
> Structures is learning to understand the actual typical structure of the
> Data Structure, and seeing the explicit pointers can be helpful here.
> 
> Python may be better for the Algorithms side, where hiding some of the
> gritty detail can be more useful, though that hiding might obscure some
> details if you want to think about what is the complexity of an operation.


Yes, there's quite a bit of room for discussing what to learn and why 
one might want to learn such; expanding into 'what is ComSc' and why/how 
might learning such topics benefit a professional programmer (or 
specialist in one particular arena); and the list goes on...

For decades I have lusted (well, almost) for a copy of Knuth's library 
(but it is NOT a training resource). However, I also reflect that a lot 
of our study as u/grads, eg learning and comparing multiple sorting 
algorithms; is almost irrelevant these days, and with Python - sort() is 
at-least 'good enough' for 99% of (my) in-RAM applications.
(and Knuth started his collection of algorithms in the 1960s, IIRC)


To the OP: recommending you view both Coursera.org and edX.org. The 
likes of Georgia Tech and U.Mich[igan] offer series of courses using 
Python as their illustration language. In combination with increasing 
your Python skills, you will thus be able to follow a structured series, 
or to pick-and-choose from their syllabi to suit your particular 
needs/interests.

Courses are usually chargeable, but most can be "audited" for $free (you 
might have to wind through the dialog-boxes, and will likely not be able 
to submit exams/assignments for consideration)

(Disclosure: I train using edX - but not in Python)
-- 
Regards =dn


More information about the Python-list mailing list