Live data from Hacker News

Problem Solving with Algorithms and Data Structures

interactivepython.org

11–17 of 17 posts

Re: Problem Solving with Algorithms and Data Structures

#11
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?

Re: Problem Solving with Algorithms and Data Structures

#12
post #9

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?!

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.

Re: Problem Solving with Algorithms and Data Structures

#13
post #9

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?!

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.

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

Re: Problem Solving with Algorithms and Data Structures

#14
post #3

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.

Hi, I'm a researcher using a (massive) fork of the Runestone platform. I'm pretty familiar with their technology and group. They use sphinx to generate html pages that then interact with their website through ajax. Their entire focus is on an interactive web experience for their book. Techniaclly, sphinx can export to PDF, but I doubt they've ever tried (I certainly haven't bothered in my fork), because the core functionality that we both trumpet is the interactivity.

That said: if you print individual pages with Chrome's Print to PDF feature, I think you'll be pleased with the result. The formatting tends to be very good (without extraneous markup and such, except for the interactive stuff - which was never going to go well.

I'm sure there are ways to script that printing - if not, then there aren't so many chapters that it would get excessive, I imagine. Personally, none of my students have ever requested an offline version of the book, but that might just as easily be because they never considered the utility of such a thing.

Re: Problem Solving with Algorithms and Data Structures

#16
post #13

Earlier quoted context omitted.

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.

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

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?

Re: Problem Solving with Algorithms and Data Structures

#17
post #3

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.

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

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.
Post reply on HN