Live data from Hacker News

Advanced Data Structures

courses.csail.mit.edu

121–130 of 148 posts

Re: Advanced Data Structures

#121
post #77
post #52

Earlier quoted context omitted.

I have read the first 50 pages about a 100 times. Does that count? P.S. I have never recommended it to anyone though, I don't recommend books I haven't read all the way through. I will get through TAOCP one day, (it's now on my retirement bucket list, along with learning Sanskrit) but I first need to read through a bunch of Math books forst, so I can get past the 50 page hump.

off the topic, but what made you curious about Sanskrit?

Who has mentioned anything about sanskrit....

Re: Advanced Data Structures

#122

This is a great resource for anybody that isn't formally trained in computer science. A lot of programmers use an abstract data type like a dictionary or hash table, but many of the self-taught and even some formally trained treat it like a magical black box that stores key-value entries very efficiently. What a hash table/dictionary gives it near O(1) properties is a good hashing function for the key, and having a g…

Recommend some best book about... Timeand space complexity of algorithms....

Re: Advanced Data Structures

#123

I never hear anybody mentioning him but Jeff Erickson's 'Algorithms' textbook [1] has some of the most lucid explanations I've come across. CLRS is often times impenetrable and for the times I didn't like its explanation of something I turned to Jeff Erickson's book and it hasn't failed me yet. I'd urge anybody trying to solidify algorithms and data structures to take a look at it. [1] http://jeffe.cs.illinois.edu/te…

Thanks for the shout-out! If you can't remember the long URL, http://algorithms.wtf also works. Please send me bug reports!

[deleted]

Re: Advanced Data Structures

#125
post #79

Earlier quoted context omitted.

Thanks for the shout-out! If you can't remember the long URL, http://algorithms.wtf also works. Please send me bug reports!

Looks great, thanks a lot! While causally browsing I noted the following in the 8-queens backtracking example: "The following recursive algorithm, essentially due to Gauss (who called it “methodical groping”), ..." Hilarious, especially given the current situation. I'd like to know what his original German term was.

Oh this is a fun rabbit hole to go down:

Gauss indeed wrote "methodisches tatonniren"[1], the latter of which is not a common German word, nor does it suggest grouping. I believe it to be an expression used at the time which was borrowed from French "tâtonner", which means "fumble", to describe a step-by-step process, "approaching" a solution. The closest I get in modern German is "herantasten", which in turn does not have an elegant English translation; you will have to take its elements "heran" (onto) and "tasten" (touch/feel/grope) individually to judge how close it is to fumble.

So, methodical groping is not as far off as you might have thought!

[1] https://books.google.com/books?id=3jEDAAAAQAAJ&pg=RA1-PA106&... This may be a typo—the regular verb form would be "tatonnieren"—then again a lot of German spelling has changed since the time of those letters.

Re: Advanced Data Structures

#126

Thank you for sharing this. Anyone would recommend resources for learning fundamental of data structures? Book, video, or courses are welcome. I don't care the programming languages that are used for implementations. I am OK with C.

If you are interested in Video lectures, there are plenty of resources available at this link: https://github.com/Developer-Y/cs-video-courses

For data structures in specific, You can go through following courses

1. CS 61B, Prof Jonathan Shewchuk, UC Berkeley -> [1]

2. COP 3530 Data Structures and Algorithms, Prof Sahni, UFL -> [2], videos are available at [3]

3. COP 5536 Advanced Data Structures, Prof Sahni - UFL [4]

All above courses focus on ideas than on mathematical rigour.

[1] https://www.youtube.com/playlist?list=PL4BBB74C7D2A1049C

[2] http://www.cise.ufl.edu/~sahni/cop3530/

[3] http://www.cise.ufl.edu/academics/courses/preview/cop3530sah...

[4] http://www.cise.ufl.edu/~sahni/cop5536/index.html

Re: Advanced Data Structures

#127

I never hear anybody mentioning him but Jeff Erickson's 'Algorithms' textbook [1] has some of the most lucid explanations I've come across. CLRS is often times impenetrable and for the times I didn't like its explanation of something I turned to Jeff Erickson's book and it hasn't failed me yet. I'd urge anybody trying to solidify algorithms and data structures to take a look at it. [1] http://jeffe.cs.illinois.edu/te…

Thanks for the shout-out! If you can't remember the long URL, http://algorithms.wtf also works. Please send me bug reports!

I just skimmed over skiplist in point 10 of your book. The concept and definition of skiplist is easy to grok and it is well explained but in point 10 there is not any information as to when should I use a skiplist, what kind of problem a skiplist is a good tool to use. I have bookmarked your page, it seems to be a useful resource if it is complemented with a comparison and use case for all these data structures.

Re: Advanced Data Structures

#128
post #63
post #42

Earlier quoted context omitted.

As you get into advanced data structures, you often need the gory technical details to make correct decisions about tradeoffs and usage. Succinct data structures, for instance, which are a specific thing and not just a generic adjective, are almost miraculously powerful, but you'd better understand exactly what the preconditions for using them are (which is a fairly mathematical discussion) and what the tradeoffs are…

With that being said, would you agree that in general one does not need to be intimately familiar with these to be a productive, useful software engineer?

Depends on what counts as productive. If you job is to get tens of billions of things done in a second, then your productivity depends a lot on what the cache locality properties of your data structure are and whether you can allocate your space up front.

Re: Advanced Data Structures

#129

Thank you for sharing this. Anyone would recommend resources for learning fundamental of data structures? Book, video, or courses are welcome. I don't care the programming languages that are used for implementations. I am OK with C.

If you are interested in Video lectures, there are plenty of resources available at this link: https://github.com/Developer-Y/cs-video-courses For data structures in specific, You can go through following courses 1. CS 61B, Prof Jonathan Shewchuk, UC Berkeley -> [1] 2. COP 3530 Data Structures and Algorithms, Prof Sahni, UFL -> [2], videos are available at [3] 3. COP 5536 Advanced Data Structures, Prof Sahni - UFL [4…

Thank you so much.

Re: Advanced Data Structures

#130
post #64

I never hear anybody mentioning him but Jeff Erickson's 'Algorithms' textbook [1] has some of the most lucid explanations I've come across. CLRS is often times impenetrable and for the times I didn't like its explanation of something I turned to Jeff Erickson's book and it hasn't failed me yet. I'd urge anybody trying to solidify algorithms and data structures to take a look at it. [1] http://jeffe.cs.illinois.edu/te…

For beginners, I've always thought Aho, Hopcroft and Ullman's Data Structures & Algorithms is a bit under-rated [1]. It's short, mathematically inclined and contains very clear Pascal pseudo-code. [1] https://www.amazon.com/dp/0201000237

(edit) Their book, The Design and Analysis of Computer Algorithms, impressed me greatly for the clarity of the thinking and conciseness of explanation, not just compared to other algorithm books, but against anything I've read in any subject.
Post reply on HN