17 ms·
>>was it worth it? You are not supposed to read about any algorithm. There is nothing special about knowing how some sorting algorithm works, or any algorithm
by kamaal 11y ago
>>was it worth it?
You are not supposed to read about any algorithm. There is nothing special about knowing how some sorting algorithm works, or any algorithm for that matter. That knowledge is no better than knowing how some war in history happened. Or remembering arcane trivial about things. Knowing how to sort a list a dozen ways, no big deal. Unless you discovered the algorithms yourself, there is nothing special about just knowing how these things work.
You are supposed to learn how to discover your own algorithms, reasoning from the first principles, learning the axioms that govern the area of the problem, learn the rules, then work out step by the step, deriving new results from the results discovered a step back.
You are supposed to learn how to reason about the problem. You are supposed to learn to understand the problem, state it in simple terms, learn to draw diagrams to represent it, solve sub problems. Build theories, hypothesis, question them, prove them etc.
We don't do algorithm studies the right way.
Even software interviews are not testing algorithm skills, they are testing algorithm memorization skills. Nothing different than those teachers who used to confuse memorizing multiplication tables with genius.
- throwaway2048 11y agoIt virtually all programming, even in stuff with tight performance constraints and high performance demands you are utilizing known and studied algorithms.
- fsloth 11y ago"You are not supposed to..." in general I agree that we should take first principles based approach always as an option - from point of view of taking intellectual pride in ones work. However, a large category of real world problems is solvable only through a combination of solutions to hard problems. If I have to solve three hard problems before I can have a complete solution is at hand - and by hard I mean months of work - my memory is so poor that the current value of a solved problem does not depend on whether I or someone elso solved it. I've forgotten the details anyway - and the only thing I have are the implementation and documentation. I have a limited lifespan but the number of interesting problems is infinite. I can't really find a calculus that says it's far more valuable to solve the known problems several times rather than new interesting problems. Because that's what you are implying (with my memory) - if never using existing solutions is preferable I would never get anything done. The same applies for most of civilizations activities. Don't confuse practicality as the opposite of love of knowledge.