
Problem Solving with Algorithms and Data Structures - npad
http://interactivepython.org/runestone/static/pythonds/index.html
======
nirkalimi
I read this book cover to cover.

For someone self taught, who has a beginner understanding of Python (control
structures, data types, classes, functions, loops, etc) this is undoubtedly
the easiest way to introduce them to Algorithms and Abstract Data structures.
This really takes a beginner to an intermediate level in small easily
digestible chunks.

My question to you now, HN: are there any books on the market that can guide a
beginner/itermediate (who knows Python and perhaps a framework like Django) to
better understand the ins and outs of programming for the web? I am not
talking about getting an app up and running, I am talking about understanding
the flow of data, maybe things like WSGI, security, APIs, etc. Something that
can really take an intermediate to an "Expert" level.

Any Suggestions?

------
yulaow
I still can't understand why, once they have a free version available in form
of a html page, they don't give also a free pdf version far more readable and
portable.

~~~
turingmachin
Agreed. I'm interested in this book, but the format is unbearable!

~~~
acbart
I wouldn't mind hearing your criticisms of the interface. I use a fork of this
book largely for the UI (not intentionally, that's just how things worked
out). I am not a GUI-person, I just use Bootstrap as defensively as possible.
So far, I haven't had any complaints about the affordances, but then most
students don't complain unless things have gone terribly wrong. If you have
specific things you can point to, it'd be helpful for my own purposes.

------
lpnotes
We've had a couple of virtual study group Google Hangout meetings about this
book at CodeBuddies -- [http://hangouts.codebuddies.org/category/data-
structures-and...](http://hangouts.codebuddies.org/category/data-structures-
and-algorithms)

IMO this is one of those books where it helps to talk about the material out
loud/screenshare. The material can sometimes be dense.

------
right2roam
Looks good. Quick note - tried to view the module index;
[http://interactivepython.org/runestone/static/pythonds/py-
mo...](http://interactivepython.org/runestone/static/pythonds/py-
modindex.html)

But it is returning an error at the moment!

------
msoad
The "Simple Balanced Parentheses" problem solution does not have to use a
stack one index for opening(+1) and closing(-1) parentheses should be enough.
Or am I wrong?!

~~~
RadioactiveMan
If you're working with multiple symbols, such as (), {}, and [], you'd want to
use a stack. Closing a child ( before its parent { would be an error.

~~~
msoad
You can still use an index for each symbol and track diff of child vs. parent
and make sure it's never negative.

~~~
nitishmd
Wouldn't the worst case space complexity be the same then? for eg: ( { [ ] } )
as you will be keeping index for each the symbols. Technically it can be
implemented, but isn't stack a better approach?

