上一页 1 ··· 64 65 66 67 68 69 70 71 72 ··· 207 下一页

2011年9月19日

O(n)时间的排序

摘要: 题目:某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间。分析:排序是面试时经常被提及的一类题目,我们也熟悉其中很多种算法,诸如插入排序、归并排序、冒泡排序,快速排序等等。这些排序的算法,要么是O(n2)的,要么是O(nlogn)的。可是这道题竟然要求是O(n)的,这里面到底有什么玄机呢? 题目特别强调是对一个公司的员工的年龄作排序。员工的数目虽然有几万人,但这几万员工的年龄却只有几十种可能。上班早的人一般也要等到将近二十岁才上班,一般人再晚到了六七十岁也不得不退休。 由于年龄总共只有几十种可能,我们可以很方便地统计出每一个年龄里有多少名 阅读全文

posted @ 2011-09-19 14:56 原来... 阅读(558) 评论(0) 推荐(0)

上一页 1 ··· 64 65 66 67 68 69 70 71 72 ··· 207 下一页

导航