Re: Algorithm book recommendation?
spinoza1111_at_yahoo.com
Date: 02/06/05
- Next message: Randy Howard: "Re: Smart programming languages"
- Previous message: CBFalconer: "Re: Which new language to learn?"
- In reply to: AlgoMan: "Algorithm book recommendation?"
- Next in thread: CBFalconer: "Re: Algorithm book recommendation?"
- Reply: CBFalconer: "Re: Algorithm book recommendation?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: 5 Feb 2005 16:06:48 -0800
For certain algorithms, having to do with parsing, see my book Build
Your Own .Net Language and Compiler (Apress).
I sympathize with your dilemma. Programmers need to know finite math,
logic, and formal proofs, none of which are touched in high school
outside of geometry, to understand Cormen.
Bentley's book and mine to an extent show its possible to embed this
needed instruction in a book for programmers.
But I also suggest you mosey on over to the math and logic/philosophy
section of Border's or Barnes and Noble to buy an introductory text in
logic and set theory, which will help you with the more advanced books.
Most formal education in math is taught with a combination of
hand-waving and brutality, in which the student is confronted by
Calculus I after a year of using inadequately formal methods in
advanced algebra. In Calculus I, he is confronted, inappropriately for
students who've not disassembled and reassembled a car, by mechanical
metaphors, when Newton's purpose was to present a formal system
independent of motion and change.
This style of education is completely inadequate for programming, as is
shown by the following trick question: what is the length of a line
bounded by points at x coordinates a and b?
In continuous math the answer is a-b. In many computer applications,
since and b identify not infinitesimals but points-with-mass-and-volume
(typically "cells"), the answer is not the position of a minus that of
b but a-b+1!
You will also need at some point to grok sets considered as lists with
no duplicates and elementary logical proof, which has an unsung
relation to programming.
Cormen is just doing his job because in fact there is no basis for
programming that is not math and logic.
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?
- Next message: Randy Howard: "Re: Smart programming languages"
- Previous message: CBFalconer: "Re: Which new language to learn?"
- In reply to: AlgoMan: "Algorithm book recommendation?"
- Next in thread: CBFalconer: "Re: Algorithm book recommendation?"
- Reply: CBFalconer: "Re: Algorithm book recommendation?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|