这段时间一直在做那个ACM 1002题,是一道将众多电话号码排序并统计重复的题目。
做了好久,发现自己写的quick sort的效率远不如C库自带的qsort程序,每次在POJ上运行自己的程序就出现超时的错误,而用系统的库就完成的很好。
看了glibc中qsort的实现,发现它主要用了一下几点进行优化:
1. 非递归的方法,增加排序速度
2. 用low, high, mid三者取中的方法寻找比对值,从而每次调用排序都将中间的一个元素排到正确的位置。
这是我看到的较早版本的qsort,这两天看得实在是头大,放着以后进一步分析
阅读(1364) | 评论(0) | 转发(0) |