I typically write one blog entry per book I read. In this blog, Algorithms Fourth Edition by Robert Sedgewick and Kevin Wayne will be split in comments per one or more chapters.
A few weeks ago I decided to read Algorithms and go over most of the exercises. I wish I would have enough time to tackle them all. This morning I finished reading the first two chapters. So far, so good.
I have studied computer science and have been developing software for a while. Have learned a few programming languages. Currently I use C, C++, C#, Java and Python. It is interesting that when I concentrate on a specific one and a few weeks later need to pick up a different one, I tend to confuse syntax. After a day or so, all seems to come back. Most modern languages (i.e., C#, Java and Python) share many abstract data types (perhaps with somewhat different names).
I believe all the examples in the Algorithms book are written in Java. That is a great approach over writing pseudo code or code for custom machines. They tend to slow down learning and make one spend time figuring out how to get such custom machines to work. Also, Java is ubiquitous on all modern computers, tablets and phones. If needed you can download and install the Java compiler and runtime environment in a few minutes. There is a plethora of IDEs to choose from. I use a couple versions of Eclipse and NetBeans.
Reading these first two chapters was quite educational for me. They made me think about Java and several features of object oriented programming. Most of which with time one tends to give for granted. The coverage on abstract data types is quite good.
So far I have read and experimented with about 120 pages. It seems that the next chapter starts getting down to actual data structures (e.g., bags, queues and stacks). To be honest I have never used a “bag”. The name seems to indicate some type of unordered list or collection. I did a Goggle search “bag data structure wiki”. One of the links returned “List of data structures – Wikipedia” (https://en.wikipedia.org/wiki/List_of_data_structures) does not seem to list “bags”. Will let you know my findings as soon as I get done working with the next chapter.
If you have comments or questions please let me know.