Hacker News new | past | comments | ask | show | jobs | submit login
Algorithms and Data Structures by N. Wirth [pdf] (ethz.ch)
87 points by aycangulez on Nov 19, 2010 | hide | past | favorite | 20 comments



This is one of the best books regarding algorithms. Its brevity and clarity makes for an enjoyable read, as are the implementations in Pascal/Oberon. Probably its only downside is the lacking treatment of graphs, but IMHO this is only a downside, because it would certainly be interesting to see how Niklaus Wirth would have explained this topic.

I have recommended it on HN at least once before, and I find it fills nicely into the "algorithm canon" of AHU and CLR. Whenever I have time to ponder or want to know something in depth, I consult one of these books in that order (i.e., AD->AHU->CLR).


"AHU --> CLR" Would you mind expanding these abbreviations?


They are both algorithm books and the initials are the last names of the authors.

AHU is "The Design and Analysis of Computer Algorithms" by Aho, Hopcroft and Ullman.

CLR is "Introduction to Algorithms" by Cormen, Leiserson and Rivest


CLR has been "replaced" by CLRS (added an author, can't recall his/her name).



thanks a lot


His _Compiler Construction_ book (http://www-old.oberon.ethz.ch/WirthPubl/CBEAll.pdf) is a good "keep it simple, hit the ground running" intro to recursive-descent parsing, compilers, virtual machines, etc., as well.


Is this a book you'd recommend for somebody wanting to learn compilers and parsers? I did my masters in computer science but focused on the machine learning, AI, and data mining side of things. I feel that I'm lacking a lot from never taking a compliers class and would like to make up for that with a good book. (I did study automata theory).


Yes, among others. Briefly: Read that, then Appel's _Modern Compiler Implementation in ML_, then chase whatever interests you in the bibliography and on citeseer.

See also:

http://news.ycombinator.com/item?id=1822515 (first)

http://news.ycombinator.com/item?id=1820858 (parsing)

http://news.ycombinator.com/item?id=1608752 (good thread)

http://news.ycombinator.com/item?id=1642345 (another good thread)

http://news.ycombinator.com/item?id=835020 (lots of good resounces!)

http://news.ycombinator.com/item?id=704957 (yet another good thread)

That should keep you busy for a while. :)


Thanks for taking the time to compile this list for me.


Read Abdulaziz Ghuloum's An Incremental Approach to Compiler Construction: http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf

It basically explains everything in 10 pages. Quite an amazing paper.


The best way to learn is probably to start writing a simple compiler. For example write a compiler for finite automata to C (or assembly if you want a bigger challenge), since you studied automata theory.


stackoverflow thread on best books for algorithms:

http://stackoverflow.com/questions/302270/what-is-the-best-b...

similar thread asking about data structures:

http://stackoverflow.com/questions/366317/good-data-structur...


More information on the author, the designer of Pascal, Niklaus Wirth.

http://www.simple-talk.com/opinion/geek-of-the-week/niklaus-...

http://en.wikipedia.org/wiki/Niklaus_Wirth


Scribd link does not work. I think this is the result the recent Facebook Connect integration...


Don't click on the scribd link, click on the original.

I think it's iniquitous that people here on HN, in all good faith, provide links to PDFs, and then scribd purloins the content. The original authors may never know that another site is providing their content without their permission. The result is that although scribd claim to honor take-down requests, such requests rarely materialise, even if the content originators would prefer it not to be there.

This is one aspect of HN that genuinely makes me feel grubby.


With Google Chrome and other browsers reading PDFs directly inside the browser, there isn't much point for scribd as an embedded reader.


The PDF is also available at the ETH - http://www-old.oberon.ethz.ch/WirthPubl/AD.pdf


It is a HN bug becouse the link is not actually a pdf file. If the link ends with the pdf extension then adds the link [SCRIBD] to the url. In my opinion the link sender should add it himself IF he links to a pdf file.

   (def pdflink (url)
	  (awhen (vacuumize url)
		 (pr " [") 
		 (link "scribd" it)
		 (pr "]")))

   (defmemo vacuumize (url)
	  (and (or (endmatch ".pdf" url) (endmatch ".PDF" url))
			 (+ "http://www.scribd.com/vacuum?url= url)))


sorry, but this seems way too dated. CLRS is much better. this book doesn't even have red-black trees, which are pretty much the "gold-standard" data structure used for almost every high performance backing store. nice that it's free and there's some good knowledge in there, but CLRS is "the bible" IMO.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: