Next: puzzle
From: Randy Crawford on
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
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
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
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
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?
>


First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5
Next: puzzle