Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Can I depend on wikipedia to learn data structures fully using the list of data structures http://en.wikipedia.org/wiki/List_of_data_structures and the links they refer to? The same question for algorithms http://en.wikipedia.org/wiki/List_of_algorithm_general_topics ?... What's after learning algorithms and data structures? Specializing in a certain field of algorithms such as computer graohics, memory management...etc? or what could be the plan for mastering programming after knowing the language syntax and the background about program design and programming logic?

I asked about wikipedia because i would like to find a complete resource or are least a resource which would be enough for the field of data structures instead of searching for separate articles in different places in other words an alternative to books which may even be more complete.

share|improve this question
5  
No one resource is enough to study a computer science concept... Wikipedia is great within the limits of its scope (encyclopedic knowledge), but if you limit yourself to wikipedia you'll never actually learn anything. –  Yannis Rizos Nov 1 '11 at 23:14
2  
From my perspective, the hardest thing people have to learn about data structures and algorithms is when not to use them, which is nearly always. They are the craftsman tools from which you pick and choose the right one, carefully, and apply it, surgically. You don't pour them over every problem. That's how monster programs with abysmal performance get created. –  Mike Dunlavey Nov 29 '11 at 23:01
    
Data structures are a non-political topic, and their coverage can only get better. If you are not happy with how it is now, then improve it. This is true of many alternative sources, including free educational videos. It will never be complete, but it can get better. Hypothetically it can get better than a single book on the topic, but maybe not due to book format vs wiki format. –  Job Nov 30 '11 at 0:26

3 Answers 3

Wikipedia is valuable in the sense that new data structures and research on data structures can and most probably will appear in it, since it is editable. As it stands currently, however, it is hardly complete, in answer to the second part of your question.

share|improve this answer
    
so can i depend on wikipedia as a complete list of data structures to search for topics on? In other words, to know what to study and search for using research papers, books, tutorials...so on? I think books do not cover all data structures but only concentrate on common ones. I'm just searching for one resource which i can depend fully on either by finding information or at least know what to search for. –  Amir Nasr Nov 2 '11 at 10:28
    
@Amir: No, you can't. It does cover the main ones (arrays, lists, trees, hashes, sets) but there's a lot more than that, and it's very easy to wander off track. Remember, data structures remain a research topic so you have to be very careful as the exotica often have very careful trade-offs and the analysis of them isn't easy. –  Donal Fellows Nov 2 '11 at 11:19
    
@DonalFellows but i think those present in the list of datastructures of wikipedia is more than those found in books, and probably a certain data structure would probably be found in wikipedia than books. If i read Cormen's intro and Knuth's art of progamming and depend on wikipedia for searching for the rest, wouldn't that be enough and new ones would probably be found in wikipedia as it is updated. I'm asking because i believe that when knowing a certain signle source which at least lists all topics, there would be less probability of missing important topics.Am i wrong? Thx 4 ur help though –  Amir Nasr Nov 2 '11 at 11:39
    
@Amir: Cormen's pretty good (TAOCP has dated a bit; important algorithms are missing because they were discovered later) and as long as you remember that the five that I mentioned are the huge majority of DSs out there, you'll know enough to be going. The problem with WP is that it mentions a lot of things that have been studied a lot but which aren't actually important, and it doesn't go into enough depth on the the things that are found hugely in practice. –  Donal Fellows Nov 2 '11 at 11:49
    
@DonalFellows i'm talking about wikipedia not as a a place to study from but as a resource for just getting the titles of the data structures and algorithms to search for them in other resources but at least i'm sure nothing is missing and that i'm updated with the new ones.I mean wikipedia is like a checklist for knowing what should i know and what was missing from the books. The same applies for learning a programming language, the specification or book is better than the tutorial because the tutorial misses alot while the book collects all whats scattered among different tutorials and so on –  Amir Nasr Nov 2 '11 at 12:03

No individual resource can ever be said to be truly complete. To do so would suggest that there is nothing to improve, and nothing more to learn beyond the resource itself.

As others have mentioned, you can't really learn all you need from a single resource. This is primarily because there will either be some new information in newer resources, but also because each book, guide, or site will present similar problems in different ways. This show you not only what to apply, but how there are potentially many ways to apply different solutions to the same problem.

With all of that said, I've found Wikipedia does have a good list of data structures and other programming related information. It's a handy reference when you want to consider something from a different writer's perspective, yet I'll still find myself referring to books, and using a more generalized search for a blog or a commentary, simply to add more depth and context to the information that I am looking for.

So to answer your questions... Wikipedia IS a valuable resource, it is NOT complete, and as for what to study afterwards, the choice really is up to you, but I would suggest letting yourself be guided by a combination of interest, and whether there is work available, or whether your company (if you are already employed as a developer) has needs in a particular area of study.

Cheers.! :-)

share|improve this answer

In my honest opinion, no. But of course that is only my opinion.

As said in a comment by Yannis Rizos, you can not study computer science from just one resource. Also, there are other resources that are more productive:

http://stackoverflow.com/questions/481260/whats-a-good-way-to-start-learning-about-data-structures-algorithms

http://stackoverflow.com/questions/560471/where-can-i-learn-about-basic-data-structure-concepts

How do I learn algorithms and data structures?

Hope this helps!

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.