3 ms·
@cperciva - you're right, I can't answer those off the top of my head like I could 15 years ago when I studied it. I don't think that's a problem with the exam
by aidos 14y ago
@cperciva - you're right, I can't answer those off the top of my head like I could 15 years ago when I studied it.
I don't think that's a problem with the exam system though; I could probably have answered them 12 years ago. It's just related to the field you end up in and how much you need to lean on that knowledge in your day to day job.
As it stands, given a couple of hours of reading, I'd easily be able to refresh my knowledge and answer the questions, primarily because I had a solid formal training in it initially. Ability-wise, the me of my uni days could never do the job I'm doing now - well, not without another 15 years experience :)
- cperciva 14y agoAs I wrote in my introductory post, I have needed to know most of these things in my day-to-day job. Of course, it depends on what sort of work you're doing.
- StavrosK 14y agoI don't need to know these things in my day-to-day job either. However, if I did need to know them, they'd be a Google search away, and I could find them out in less than a minute (less than the time it takes me to get urllib2 to send cookies, for example). On the other hand, I imagine that someone who hasn't been formally trained in complexity would have a harder time, because they wouldn't be aware of basic concepts such as complexity, the O notation, etc. Therefore, asking whether someone knows what O(n) means strikes me as a better performance test than trivia like the difference between O(2^n) and O(3^n).
- haldean 14y agoThe difference between O(2^n) and O(3^n) isn't trivia; if you can answer the question, then you have an understanding of what big-O means. Asking someone to recite the definition they learned of O(n) is easy; asking someone to think critically about the definition of big-O and how 2^n and 3^n relate shows a deeper understanding. I haven't memorized any trivia relating to these functions, but I convinced myself within a few seconds of the answer from the definition of big-O.
- cperciva 14y agoasking whether someone knows what O(n) means strikes me as a better performance test than trivia like the difference between O(2^n) and O(3^n) So far that's turning out to be one of the most useful questions, actually... but I wouldn't call it trivia.
- StavrosK 14y agoYeah, bad example there. The asymptotic running time of the heap operations, or quicksort runtimes, for example, though, were more like trivia, even though you can basically get them if you know the algorithms and reason about them a bit. I know the running time of quicksort offhand, but I'd still consult wikipedia on the off chance I'm wrong.
- pnathan 14y ago> trivia like the difference between O(2^n) and O(3^n). ignorance regarding basic complexity differences; this is the problem.
- koide 14y agoAn interesting side project of this would be describing how the difference between O(2^n) and O(3^n) or knowing what the heap operations are have been needed in your job. And, since I'm asking already, I'd also like to know why you needed to know the information "on-the-fly" and couldn't have gotten there almost as easily with a quick refresher. For example, I don't remember all the heap operations by heart but, if I needed to select a data structure for a critical task, I would go fetch Cormen and Skiena (the books, not the people) and get a quick refresher.