Next: puzzle
From: Randy Crawford on 6 Feb 2005 00:49 AlgoMan wrote: > Christopher wrote: > >>Sometimes the hard parts are worth the effort. > > I agree. I am going to the math at some time, but my idea was that > first I go through algorithms & DS some, try out programming them, > then go back to the math & then go to algo & DS again. > > As for now, I just want to learn Algo & DS. There's a good metaphor to be made here with architecture (of buildings, not computers). As a programmer, you are both architect and builder. You must master both trades, or your programs are going to ugly or badly constructed or both. Data structures are like building materials and algorithms are like construction methods. Building good software requires an understanding of both. First you must learn what is used to build programs. If you don't know your materials, you'll build using only the few components that you know, which is going to lead to small, plain, boxy houses that look like they were built by a child. But if you don't know construction, you won't know how to put the pieces together, and your small, plain, boxy houses are going to fall down. Can you learn about materials (data structures) without math? Mostly, yes. Can you learn about construction (algorithms) as well as how to design (algorithmic analysis) without using math? Nope. Not at all. Fortunately, the math needed in construction is less complex than the math needed in design, so it's typical to learn these skills in this order: data structures, then algorithms, then analysis. For now, I suggest you pick up a good book on data structures. It will acquaint you with the bones of the trade, and lead you to think about how they might be assembled (using basic algorithms). As you get your feet wet, you'll appreciate the value of using more math as you think about assembling the pieces, making them work together efficiently, and then how to select among the design trade offs. In the end, it's only by employing math that you can make your program as fast or as small as it should be. Randy -- Randy Crawford http://www.ruf.rice.edu/~rand rand AT rice DOT edu
From: David Fisher on 6 Feb 2005 04:57 AlgoMan asked: > I came across the book "Programming Pearls" by Jon Bentley. This > books explains algorithms in a very very beautiful & elegant manner for > a beginner. I love that book ! (There is a sequel as well, by the way - "More Programming Pearls" - which has a lot of overlap with the first one, but has some new things, too). > Are there are any books on Data Structures & Algorithms which cover > this subject in the same manner that Bentley does in his papers? One of my lecturers was Jeffrey Kingston, and he has a called "Algorithms and Data Structures" - see http://www.opengroup.com/cbbooks/020/0201403749.shtml for a small write up. It includes a lot of theory (proofs of correctness), but also a lot of practical stuff, and I think it covers the basics very well (it was a first year textbook for Computer Science). Hope this helps, David Fisher Sydney, Australia
From: Randy Howard on 6 Feb 2005 08:57 In article <4205AE31.15A6CE4A(a)btinternet.com>, infobahn(a)btinternet.com says... > CBFalconer wrote: > > > > Are you sure your name isn't Schildt? > > Schildt writes clearly. > > > The ability to count is a prerequisite for this profession. > > Which profession? Spamming? Your correspondent is getting just a > little bit too keen to write "see my book". Try a Google search > for his use of the exact phrase "my book" in comp.programming. > > Wouldn't you call that spamming? Yes, and it has been pointed out to him multiple times. -- Randy Howard (2reply remove FOOBAR) "Making it hard to do stupid things often makes it hard to do smart ones too." -- Andrew Koenig
From: Wenny Macura on 7 Feb 2005 00:44 AlgoMan wrote: > Hi, > > I have been trying my hand at programming for a year as an amateur. > > However, I have no formal education in computer science or mathematics. > Hence, now I am learning algorithms & data structures from some > textbooks. > > People recommend "Introduction to Algorithms" by Thomas Cormen etc > & Sedgewicks algorithm books. Unfortunately, IMHO, these books are not > easy to > understand for someone who doesn't have a formal Math/CompScience > backgroup. > I think you need to know a lot of mathematics, mathematical notations > etc for > understanding Cormen. As far as Sedgewick is concerned, his coding is > rather > complicated to understand for a beginner, he applies a twist to even > simple > algorithms which make them slightly difficult to understand. > > For eg. most other books, explain the Towers of Hanoi solution with > this function prototype. > > hanoi(N, Source, Dest, Aux) > > Sedgewick has > hanoi(int N, int d) > > Had to read it many times to understand what he is doing here, whereas > the > Source, Dest thingy is very intuitive to understand for a beginner. > Sedgwick tries to make all his programs very small, elegant & compact, > which > make them a little difficult to understand for a beginner. Other than > that, > Sedgewick goes deep into different analysis, which are very difficult > to > understand. > > I came across the book "Programming Pearls" by Jon Bentley. This > books explains algorithms in a very very beautiful & elegant manner for > a beginner. > Things which I have found very very complex in other books, I > understood in > 1st reading with Bentley. Unfortunately, his books do not cover > algorithms > & data structures exhaustively, but are just a collection of papers, > some of > which concentrate on algorithms. > > Are there are any books on Data Structures & Algorithms which cover > this > subject in the same manner that Bentley does in his papers? > May be not for the begginer: AHO|HOPCROFT|ULMAN The Design and Analysis of Computer Algorithms ADDISON-WESLY Old but gives you the basics :-) Wenny
From: Howard Kaikow on 7 Feb 2005 10:48
An easier book is Rod Stephens Ready-to-Run Visual Basic Algorithms, 2nd Edition. -- http://www.standards.com/; See Howard Kaikow's web site. "AlgoMan" <algoman(a)mailinator.com> wrote in message news:1107588033.133835.266310(a)z14g2000cwz.googlegroups.com... > Hi, > > I have been trying my hand at programming for a year as an amateur. > > However, I have no formal education in computer science or mathematics. > Hence, now I am learning algorithms & data structures from some > textbooks. > > People recommend "Introduction to Algorithms" by Thomas Cormen etc > & Sedgewicks algorithm books. Unfortunately, IMHO, these books are not > easy to > understand for someone who doesn't have a formal Math/CompScience > backgroup. > I think you need to know a lot of mathematics, mathematical notations > etc for > understanding Cormen. As far as Sedgewick is concerned, his coding is > rather > complicated to understand for a beginner, he applies a twist to even > simple > algorithms which make them slightly difficult to understand. > > For eg. most other books, explain the Towers of Hanoi solution with > this function prototype. > > hanoi(N, Source, Dest, Aux) > > Sedgewick has > hanoi(int N, int d) > > Had to read it many times to understand what he is doing here, whereas > the > Source, Dest thingy is very intuitive to understand for a beginner. > Sedgwick tries to make all his programs very small, elegant & compact, > which > make them a little difficult to understand for a beginner. Other than > that, > Sedgewick goes deep into different analysis, which are very difficult > to > understand. > > I came across the book "Programming Pearls" by Jon Bentley. This > books explains algorithms in a very very beautiful & elegant manner for > a beginner. > Things which I have found very very complex in other books, I > understood in > 1st reading with Bentley. Unfortunately, his books do not cover > algorithms > & data structures exhaustively, but are just a collection of papers, > some of > which concentrate on algorithms. > > Are there are any books on Data Structures & Algorithms which cover > this > subject in the same manner that Bentley does in his papers? > |