I'm slowly getting the impression that the field I knew of as "computer science" when I was an undergrad (remember when the undergraduate catalog listed a "scientific computing track"? CS majors don't do that shit anymore) is slowly schisming into a bunch of only-tangentially-related fields
(
Read more... )
Reply
Reply
I'd argue that sort isn't a lot better for it than many other choices, though. There's a natural tension between "this illustrates different programming techniques" and "this is something you will actually use", and sort is more at the sweet spot of those things intersecting than the best possible example of the first category.
Reply
Also, I wonder if we'll all start having to use something like "distributed sort" in the future.
I have n networked computing units, each of which stores about k things, and I'd like the first k on the first unit, the next k on the next unit, etc...
I think, so long as sending 10 numbers takes 10 times the time of sending 1 number, some distributed version of quicksort still comes out pretty good...
Reply
Distributed sorts are interesting because I don't think there will be just one -- I think there will be at least two or so common ones, and probably more as we work out when to use them.
Simple sorting will look a lot like QuickSort, yes, but I imagine you'll see a lot of distributed equivalents of topological sorts mostly, because that's usually going to be a much better way to distribute tasks among nodes than having to do an exact sort-and-division. The problem with exact sort-and-division is that in a distributed environment you'll often have new items arriving or modifications to old ones. You'd like your sort 'order' to be pretty resilient to that, where possible. Exact sorting-and-division where you assume you know exactly what is on what node fails that test.
So I think a lot of distributed sorts are going to look more like rough grouping.
Reply
Reply
Reply
Reply
Leave a comment