Re:Top 100 words in News.YC titles
by gojomo on Wednesday January 09, 2008 @06:31PM
(#96589)
Dr. Seuss wrote 'Green Eggs and Ham' with only 50 words. Can these 100 be strung together (allowing repetition) into something remotely meaningful and grammatical?
Re:Top 100 words in News.YC titles
by emfle on Thursday January 10, 2008 @11:41PM
(#97045)
Heh, this is algorithm bait.
The obvious algorithm is to sort all the words in order of increasing frequency, then print the 100 first. This algorithm is O(n log n) because of the sorting. It generates the list in order of frequency.
There is an O(n) algorithm that first picks some random item as pivot, then does a partioning like QuickSort where items with higher frequency than the pivot are moved to the front of the array and those with lower frequency to the back.
If the first partition has more than a 100 items, then the algorithm only has to recurse into that part. If it has fewer (k), then it prints everything in the first partition, and recurses into the second to generate the 100 - k best items.
This is expected O(n) and will not generate the list in order of frequency.
Re:Top 100 words in News.YC titles
by robg on Wednesday January 09, 2008 @06:44PM
(#96598)
A fun, informative feature could be that list for each user in their profile. Even better if it updates based on use - how the hivemind splinters into the specific bees. There's so much that could be done there - similar users, related posts, discovery. I'm surprised we have yet to see that basic functionality in the more nebulous news sites.
- Google launches first big company platform using python where people make money over hacker life.
- Lisp application time better vs. javascript, python, ruby.
- Startup entrepreneur launches better open source ruby tech blog.
*edit, I just now saw the other headlines by readers, but I don't feel like submitting these as actual stories.
http://news.ycombinator.com/item?id=96660
http://news.ycombinator.com/item?id=96663
The obvious algorithm is to sort all the words in order of increasing frequency, then print the 100 first. This algorithm is O(n log n) because of the sorting. It generates the list in order of frequency.
There is an O(n) algorithm that first picks some random item as pivot, then does a partioning like QuickSort where items with higher frequency than the pivot are moved to the front of the array and those with lower frequency to the back.
If the first partition has more than a 100 items, then the algorithm only has to recurse into that part. If it has fewer (k), then it prints everything in the first partition, and recurses into the second to generate the 100 - k best items.
This is expected O(n) and will not generate the list in order of frequency.