Data Structures & Algorithms
Debate on the importance, necessity, and practical application of data structures and algorithms in programming work, including whether to memorize, implement, or rely on libraries.
Activity Over Time
Top Contributors
Keywords
Sample Comments
Do you really find you can ignore data structures and algorithms in your work (and if so, what sort of work do you do)?
No algorithms and datastructures in CS??
the difference is using tools vs building your own tools when you need to. the idea of these algorithms is not to memorize them but to understand how they are build and what goals they are trying to accomplish. understanding of the basic building blocks allows approaching and solving problems in a different light.
Can you expand on what data structures and algorithms specifically you're talking about? And what is your use-case for needing to know these by memory?
Do you have any regrets about an algorithm/data structure and wish you picked something else?
cannot understand how can you program if you don't know data structures and algorithms ...
Can you expand on what you do? I can't even imagine a situation where you would not have data structures nor algorithms.
A working programmer probably needs to have the general rudiments of algorithmic analysis to write good code--to understand why a O(1) algorithm is usually better than an O(N) algorithm, to understand what makes an algorithm O(1) or O(N), and to understand the basic properties of the canned library functions they use.The basic list and map datatypes (array list, linked list, balanced search tree, hashtable) are good ways to get through these concepts, although hashtables and balanced search t
I don't think it's particularly important to know a big list of what all the data structures and algorithms are, what you really want is to be good at thinking about them and coming up with your own when you need it. But it's easy enough to get a big list of common data structures into your head. It takes about 2 seconds to learn what a trie or AVL tree are. Correction: 6 seconds, just type "avl tree" into Google and you'll be told precisely what it is in one sen
Just implement the damn algorithms. Anything else is just another library to learn, and another tool to babysit.