I don't have a CS degree, nor am I solely a programmer, but I make sure I'm aware of the underlying fundamentals of my profession. Even without taking courses, one could easily take some time to read through the related wikipedia articles - http://en.wikipedia.org/wiki/List_of_data_structures
P.S. I was trying to think up a good analogy to another technical trade, but I can't think of one where you can be completely unqualified, and work without licensing or certification.
A typical first course in data structures is where novice students learn about everyday tools like hash tables and balanced binary trees. It probably mentions a few slightly more amibitous things, but not many.
I would hope a second course at least introduced topics like purely functional and lock-free data structures and their applications, but obviously you're not going to get Okasaki and everything that's developed since at that level.
Most people doing a straightforward CS/SE degree aren't going to do a lot more than two general data structures courses, and maybe encounter a few of the more specialist tools in applied courses on topics like 3D graphics or databases/information storage.
That said, I was disappointed nobody had added the corner stitched data structure - I found that to be a very intriguing idea (and in my world, it turned out to be very useful).
Absolutely, and familiarity with these data structures is what's required to prevent these mistakes. I think a good understanding of these is more likely to prevent one from using them, or in some cases, "inventing" them.
1. An array can implement a stack or queue and is often cache-friendlier than a linked list of nodes scattered throughout the heap.
2. A hash table can implement a map or set for fast lookups of unordered data.
People who can pass the tests can easily add no value (or negative value) to a project
People who've never bothered with the tests can quickly build great things, rescue projects, and fix the bad code/designs/patterns of test-passers.
If certifications/licensing/qualifications becomes and indicator of value in the future, I'm sure it will be adopted in the market then.
Certainly worth re-thinking nonetheless.
Short Description: Each "unit" has x attributes in the form of strings (tags). Searching queries a database using a standard mysql regexp search for each tag across all "units" and sorts responses by # of tags matching Desc.
I know this isn't StackOverflow so this isn't really a tech question. What I want to know is if the problem is just that I'm a noob (just learned to code/do web development in the past few months) and need to learn more about data structures or if that's just the nature of php/mysql regexp queries (if its a database structure issue, let's not even get into it lol)
(though ohyes is right: these are transport layer methods/algorithms, not data structures)
edit: To the downvoters - is a sense of humour not allowed on HN?