Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,194,377 members, 7,954,528 topics. Date: Friday, 20 September 2024 at 09:20 PM

I Need To Learn Algorithms - Programming (2) - Nairaland

Nairaland Forum / Science/Technology / Programming / I Need To Learn Algorithms (6392 Views)

Sorting Algorithms / Learning Java Algorithms:merge Equal And Unequal Arrays. / Genetic Algorithms And Neural Networks (2) (3) (4)

(1) (2) (3) (Reply) (Go Down)

Re: I Need To Learn Algorithms by Fayimora(m): 9:00pm On Nov 11, 2011
Lol well that explains why I couldn't recommend an easier route. Used too many but CLRS was and still is the most useful.
Didn't see anyone from Caltech participate in the IEEE 24hrs programming competition,  What happened?
Re: I Need To Learn Algorithms by ektbear: 9:09pm On Nov 11, 2011
On technical subjects, I think the best approach is to find something that explains things clearly. Easier books are better than hard books. You can always test yourself after by solving hard problems.

But for learning purposes, the easier the better. You don't gain anything from terrible writing, terse or mysterious explanations, etc. It doesn't make your life better (well, this isn't quite true. . . there are some cases where you want this. But this isn't one of them.)

Especially in a situation where there is no professor/lecturer or other expert on the subject you can ask questions. Not even other bright students (then again with Google and the internet nowadays, you can basically get the equivalent of this. But still.)

Regarding books, pretty much any data structures book rates 4 stars or above on amazon.com is going to be a good bet.

Honestly you can just bittorrent or download a few, figure out which one's style you like the best and stick with that.
Re: I Need To Learn Algorithms by Nobody: 9:14pm On Nov 11, 2011
I do agree that CLRS is the most useful, for normal human being that is. As for the IEEE Competition, I honestly don't why no one from my department alerted us. But to be honest, when it comes to programming, Caltech sucks. Big time. I am serious. The folks here are more focused on the theoretical aspect, a lot of them want Nobel Prizes, be the next Einstein: solve the Quantum Gravity,  Locality, Theory of Everything, and other unsolved problems.
Re: I Need To Learn Algorithms by Fayimora(m): 9:23pm On Nov 11, 2011
hahahahha, Yeah cool. I love theory but it MUST be supported with practicals. Nobel prizes?? Lmao tell them to go and study literature!
Re: I Need To Learn Algorithms by IbroSaunks(m): 9:27pm On Nov 11, 2011
@Omo_to_dun, thank u much, i shoulda downloaded soooo many by now, i trust myself, i even download networking stuff, well for no reason actually, oh yeah i remember i was in a transition stage recently! but u won't believe i paid for my internet only to lose the modem, would check out many stuff as soon as i get another or i work something out.
i sent u d mail the other time, thanks for replying, meant alot. is amebopost up and running now?
have fun at caltech!! pasadena life!
Re: I Need To Learn Algorithms by Nobody: 9:35pm On Nov 11, 2011
Oh that was you. What's up dude? Amebopost will be up in 3hrs. Yes. I am still not done, but I don't think I ever will.
Re: I Need To Learn Algorithms by IbroSaunks(m): 9:47pm On Nov 11, 2011
omo_to_dun:

Oh that was you. What's up dude? Amebopost will be up in 3hrs. Yes. I am still not done, but I don't think I ever will.
Im good, was learning javascript but i got sucked into peripheral stuff, so now Im a lil' unserious, u know naija, comp-science = i.t.!! which technologies r u using for d site?
did i tell u about my project? its some kinda webapp, ,
Re: I Need To Learn Algorithms by IbroSaunks(m): 9:58pm On Nov 11, 2011
, d school gave me, something dey do to students they think r ok, or even like coding at all (its that bad, no one wants d hard stuff). its to build some kinda academic mgmt system, course reg , results, d whole 9 yards , its definitely not as complicated as amebopost , i hope u finish the site!
Re: I Need To Learn Algorithms by AZeD1(m): 3:38pm On Nov 14, 2011
Fayimora:

Hmm you only need a language to test an Algorithm. A book like what @ekt mentioned above is what I would call "flawed" if you want to learn Algorithms and not just how to write some nice code in a language. Want to learn algorithms that would change your life? Go and get TAOCP(you might not finish it before u die, #FACT) and Introduction to Algorithms(AKA CLRS).

So again, if you really want to improve your analytical and algorithmic skills, fetch those books I mentioned above. Career cup is more like a forum where people share different questions, tasks and whatever they had to undergo during recruitment. Its not really wise going there without a good knowledge of programming and at least a basic knowledge of algorithms.

Understanding how an algorithm works is the main key. To do that, you first need to understand how algorithms are analysed. From there on you learn methods which you can use to write your own algorithms. Finally you implement algorithms, study available algorithms and make use of them.

However if you are on the "just get a job" part of the fence then you can ignore all I just said.
Dude can you mail the any of the e books??
Re: I Need To Learn Algorithms by Fayimora(m): 5:17pm On Nov 14, 2011
Don't forget that you MUST be good in maths to understand that book. It is a prerequisite. Spend the next few months working on that
Re: I Need To Learn Algorithms by Kobojunkie: 4:52am On Nov 22, 2011
Fayimora:

Errr you kinda slipped. Yes I know you need maths skills and thats why I told @OP earlier to work on them for now. If you cannot learn without code then you aren't actually learning algorithms. The only way you can understand the ACTUAL CONCEPTS is with such books. They dont say anything about language or some bloody code. They go STRAIGHT to the point, its up to you to implement it in whatsoever language.

YEP!!! That is for sure. Introduction to Algorithms is the same book mathematics majors use to learn of higher level algorithm topics, No real programming skill necessary.

Fayimora:

What I have learnt is, never learn any concept by looking at code. Read about it, work on it with pencil and paper until you understand it and can compute results for any input you are given. If you have noticed, most of those 'humans' that invent these algorithms are mathematicians! Ever asked yourself why?

Precisely! Attempting Algorithms WITHOUT investigating the mathematical angle of them, is to me, akin to cramming a specific way of doing things without necessarily learning how to reproduce similar where applicable.

Fayimora:

Dont forget that an algorithm is not about writing code to do something. An algorithm is a sequence of computational steps. There is a difference between a programmer and someone who knows how to write code. A programmer MUST have strong computational and analytical skills. That you can only possibly get from maths.
I suggest anyone interested in Algorithms make sure to have a good mathematical base to work from. Discrete mathematics is a good place to start. Also, brushing up on your combinatorics, number theory skills, etc, not a bad way to go.

But there is always Robert Sedgewick's  book on Algorithms, which I consider a better introduction to algorithm since it does not immediately burden you with insides of these algorithm as it simply builds on your knowledge of existing data structures. It is a great book, less dence to cormen's introduction to Algorithms, and more geared towards the programmer who wants to learn already explored Algorithms, sort of like how many of us go through Data Structures and discrete maths(without bothering much about the maths side of things), but Sedgewick does a good job of trying to get you interested in the computational aspect of many of the algorithms.

A good mathematics book is Concrete Mathematics: A Foundation for Computer Science , knuth is a contributor and it essentially helps you build the needed maths base you need to explore Algorithms with as much freedom as you need.

1 Like

Re: I Need To Learn Algorithms by Fayimora(m): 11:02am On Nov 22, 2011
Concrete mathematics would take timeee. also, you cant use that book alone.lol Its got some crazy stuff. I would post a list of topics any CS student should get familiar with later on. I've got a lecture now so ciaoo
Re: I Need To Learn Algorithms by Kobojunkie: 2:04pm On Nov 22, 2011
^^^ Everything takes time . . . Did you expect the @Poster to read a book like Introduction to Algorithms, or a series like Art of Programming in one seating undecided undecided undecided undecided undecided

@Poster, I would not dedicate anything less than 6 months to this endeavour of yours. If you are looking for some quick and fast approach to learning Algorithms , then my suggestion is not for you.
Re: I Need To Learn Algorithms by Fayimora(m): 7:02pm On Nov 22, 2011
Lol I know,, I meant almost impossible, It's better to do some lighter discrete maths. Ou can get resources from MIT OCW,
Re: I Need To Learn Algorithms by ektbear: 7:25pm On Nov 22, 2011
You don't really need to bother with any of this math prep work. A basic high school (secondary school) knowledge of math is enough.

Knowledge of the exponential function, log function, n choose k, factorial function, knowing how to work with sums and series should be sufficient.

Isn't as if there is any esoteric number theory or whatever in a basic study of algorithms. Yes later down the line you may need it. But that time isn't now. . .
Re: I Need To Learn Algorithms by Nobody: 7:56pm On Nov 22, 2011
Re: I Need To Learn Algorithms by Kobojunkie: 8:19pm On Nov 22, 2011
^^^^ Nothing theoretical about anything I have posted on this. EVERY Computer science major/programmer in the field ought to have a solid background if they want to have a serious career. I don't for the life of me know how anyone can suggest you do not need to know much mathematics to understand algorithms.

You are wrong on stating that only those involved in research should care for mathematics involved in Algorithm design and use. Have you ever applied for a job at Facebook, Google, Twitter, Or even Citibank recently? One stage of the interview at google has you writing algorithms, analyzing and even explaining the whys of your response/

Also note, having a knowledge of data STRUCTURES is not same as having a knowledge of ALGORITHMS. Data Structures(ADTS or none) are simply containers with which you hold data in. It is mostly in the processing of the data that your algorithm skills now burst forth and you can easily tell code written by someone who just wants to get things working(the average code-churner) and someone who is a real programmer. The maths skills makes a huge huge difference.
Re: I Need To Learn Algorithms by Kobojunkie: 8:24pm On Nov 22, 2011
Fayimora:

Lol I know,, I meant almost impossible, It's better to do some lighter discrete maths. Ou can get resources from MIT OCW,

Where do you think those resources from MIT OCW come from? Thin air? undecided
Re: I Need To Learn Algorithms by ektbear: 8:29pm On Nov 22, 2011
Which algorithm that one sees in a basic course or say at the interview level requires a ton of math to understand. . . ?

Honestly most of them use fairly elementary techniques, but just do things in a clever way.
Re: I Need To Learn Algorithms by Fayimora(m): 8:35pm On Nov 22, 2011
I still hold my grounds. EVERY CS student MUST have a good background in discrete mathematics. MIght not be the case elsewhere but at least it's the case here in the UK. I currently take a very rigorous(f**kin crazy ) algorithms and data structures module as part of my course. Every student that hasn't gone through discrete mathematics is finding it super difficult.

Kobojunkie:

Where do you think those resources from MIT OCW come from? Thin air?  undecided
Huh? There is a particular book written specially for MIT students. That's what am referring to. Just like ekt and omo said, the main mathematics is for researchers or the theory based guys but discrete maths is for every computer science student. Have heard the likes of google's Steve, Mathew Huntbach, Eric Lehman, Peter Mcowan say this over and over.

As a matter of fact, if you come into the uk to do CS, your discrete maths skills would be tested. I have helped a lot of ma friends from Nigeria prepare for that test and trust me it's all discrete maths.

If you come in as an undergrad, a fresh one I mean, you would have to go through a foundation course where half the modules you would take are discrete maths based, just a few extra stuff like trig and calculus.
Re: I Need To Learn Algorithms by ektbear: 8:42pm On Nov 22, 2011
Oh like discrete math for CS undergrads?

OK so it is required for most 4 year degrees in CS.

But most institutions have sort of a first course in DS+algorithms course and then an "introduction to cs theory" course afterwards.

And generally the discrete math course isn't a requirement for the first course on DS+algos. Or if it is, it is a soft requirement, not a strict one.

The first course, honestly there is a lot of overlap between it and AP Computer Science that many folks took in HS (I took this course myself actually.)

OP's goals are somewhere between AP Comp Sci and the first course, not the second course.

Therefore, the mathematical preparation he needs isn't that high.
Re: I Need To Learn Algorithms by Kobojunkie: 9:28pm On Nov 22, 2011
Fayimora:

I still hold my grounds. EVERY CS student MUST have a good background in discrete mathematics. MIght not be the case elsewhere but at least it's the case here in the UK. I currently take a very rigorous(f**kin crazy ) algorithms and data structures module as part of my course. Every student that hasn't gone through discrete mathematics is finding it super difficult.
Even those who sit through discrete maths courses have a hard time tackling algorithms when they are presented them during interviews. lol.
Seriously, anyone who wants to head into Algorithms without some serious Discrete mathematics has to be a genious. Some of the covered in your average Discrete Mathematics course are

i) Recursion
ii)Set Logic
ii)Combinatorics
iii) Graphing
iv)Algorithm Analysis
v) Probability

All essential skills if you even want to grasp the contents of the book, Introduction to Algorithm, and guess what, aren't those maths related?  shocked


I think discrete maths gives you basic intro but I doubt majority of those who sit through the class actually get half the indepth knowledge necessary to conquer algorithms. I would say quite a lot of the discrete maths books breeze through many of the algorithms related computations.

Fayimora:

Huh? There is a particular book written specially for MIT students. That's what am referring to. Just like ekt and omo said, the main mathematics is for researchers or the theory based guys but discrete maths is for every computer science student. Have heard the likes of google's Steve, Mathew Huntbach, Eric Lehman, Peter Mcowan say this over and over.

[size=13pt]CONCRETE MATHEMATICS: A Foundation for Computer Science[/size] Ronald L. Graham (Author), Donald E. Knuth (Author), Oren Patashnik (Author) is NOT a book for mathematics majors. did you all miss the computer science part of the name? And the book is only an INTRODUCTORY LEVEL BOOK . .  It is recommended as a FRESHMAN TEXT for computer science majors.

Fayimora:

As a matter of fact, if you come into the uk to do CS, your discrete maths skills would be tested. I have helped a lot of ma friends from Nigeria prepare for that test and trust me it's all discrete maths.

If you come in as an undergrad, a fresh one I mean, you would have to go through a foundation course where half the modules you would take are discrete maths based, just a few extra stuff like trig and calculus.

I would rather schools, in addition to such courses as Trig, Calculus,and maybe Algebra, add courses that give students a detailed introduction to such subjects as combinatorics(Algorithms must have), number theory(necessary especially if contemplating a serious career in Cryptography, Hacking, security in general), and set theory/Logic(Computer Science duh!). A full semester of each of those will more than prepare anyone for Algorithms and programming.
Re: I Need To Learn Algorithms by Fayimora(m): 10:05pm On Nov 22, 2011
Lol am not saying Knuth's book is not the thing. Who da F**k am i to even say that. WHat am trying to say is that its not a book i would advice anyone to start with, It still requires some stuffs i cant explain. Again, there are softer resources on MIT OCW that anyone can use to start off with before grabbing Concrete Mathematics. It might look like it would take longer but try it and see.

Anyways guys we are supposed to be helping a beginner. Probably best to take this to another thread. Just a thought cause the thread is kinda off topic and am supposed to be the l ast person breaking the rules.
Re: I Need To Learn Algorithms by ektbear: 10:10pm On Nov 22, 2011
Lmao @ number theory before taking algorithms

Ya'll are high as a kite.

Abeg, this discussion is getting ridiculous.

As a guy who actually majored in math in college and took # theory, I can damn well tell you that almost none of it is needed for basic data structures and algos.
Re: I Need To Learn Algorithms by Kobojunkie: 10:24pm On Nov 22, 2011
Fayimora:

Lol am not saying Knuth's book is not the thing. Who da bleep am i to even say that. WHat am trying to say is that its not a book i would advice anyone to start with, It still requires some stuffs i cant explain. Again, there are softer resources on MIT OCW that anyone can use to start off with before grabbing Concrete Mathematics. It might look like it would take longer but try it and see.

Anyways guys we are supposed to be helping a beginner. Probably best to take this to another thread. Just a thought cause the thread is kinda off topic and am supposed to be the l ast person breaking the rules.

That is the book I used as a beginner and I will always recommend that book for anyone serious about getting the maths once and for all. I had no problems STARTING with this book. What topic in the book is it that scares you, or is it that you think the @OP cannot handle?


Major topics include:

Sums
Recurrences
Integer functions
Elementary number theory
Binomial coefficients
Generating functions
Discrete probability
Asymptotic methods

http://www.amazon.com/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025
Re: I Need To Learn Algorithms by Nobody: 10:27pm On Nov 22, 2011
Re: I Need To Learn Algorithms by Nobody: 10:38pm On Nov 22, 2011
Re: I Need To Learn Algorithms by Kobojunkie: 12:59am On Nov 23, 2011
Again . . .

Kobojunkie:

^^^ Everything takes time . . .  Did you expect the @Poster to read a book like Introduction to Algorithms, or a series like Art of Programming in one seating  undecided undecided undecided undecided undecided 
[size=14pt]
@Poster, I would not dedicate anything less than 6 months to this endeavour of yours. If you are looking for some quick and fast approach to learning Algorithms , then my suggestion is not for you.

[/size]



BUT . . . .

If you are taking Data Structures and Algorithms right now then you might want to take a look at CONCRETE MATHEMATICS book still because it has got loads of details on what you will find useful now . . . Chapter 1 (which is only 20 pages long) teaches you recurrence. 3 is on Integer Functions. 5. Binomial Coefficients
Re: I Need To Learn Algorithms by Nobody: 1:15am On Nov 23, 2011
Re: I Need To Learn Algorithms by Kobojunkie: 1:17am On Nov 23, 2011
Why is it YOUR HEADACHE if I chose to repost that, even 100 times more Are you home prefect here or something? undecided undecided undecided undecided undecided undecided
Re: I Need To Learn Algorithms by Nobody: 1:32am On Nov 23, 2011

(1) (2) (3) (Reply)

Where Can I Learn Programming In Ibadan? / 10 Greatest Computer Programmers In History / Certified-drugs App: List Of All Drugs Approved For Use In Nigeria By NAFDAC

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 66
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.