找回密码
 注册账号

QQ登录

微信登录

快速排序去重?计算机专家与程序员的不同

摘要: n个数排序算法时间复杂度是多少?一般程序员会脱口而出:O(n!)。这是按照数学家的想法,从小到大,或者从大到小,一一比较得到的算法。如果你是一位计算机专家,不是 ...
     n个数排序算法时间复杂度是多少?一般程序员会脱口而出:O(n!)。这是按照数学家的想法,从小到大,或者从大到小,一一比较得到的算法。如果你是一位计算机专家,不是一般的程序员,就可以用O(n)时间复杂度得出结果。不信?

    我要介绍的方法,不仅可以快速排序,而且可以去掉重复的数。

    计算机专家要你准备一块足够大的干净存储空间(一般的计算机都可以满足)。计算机专家排序的秘诀就是“将数放到这个数所标志的地址单元”!

    实际上,计算机内部并没有一般的实数,只有无符号的二进制整数(更多的请看本人写的《自己设计制作CPU与单片机》第10章),因而你可以将一个数放在这个数标志的存储地点(用指针实现),于是n个数排序算法时间复杂度就从O(n!)转化成O(n)啦。不仅如此,那些重复的数也会剩下唯一的一个了。(姜咏江)

快速排序去重?计算机专家与程序员的不同
大家都不容易!
评论 支持 反对

举报

以后多分享一些这样的有价值的帖子啊
评论 支持 反对

举报

以后多分享一些这样的有价值的帖子啊
评论 支持 反对

举报

论坛有你更精彩!
评论 支持 反对

举报

大家都不容易!
评论 支持 反对

举报

谢谢您的分享!
评论 支持 反对

举报

谢谢您的分享!
评论 支持 反对

举报

论坛有你更精彩!
评论 支持 反对

举报

好东西一定要看看!
评论 支持 反对

举报

以后多分享一些这样的有价值的帖子啊
评论 支持 反对

举报

谢谢您的分享!
评论 支持 反对

举报

好东西一定要看看!
评论 支持 反对

举报

论坛有你更精彩!
评论 支持 反对

举报

大家都不容易!
评论 支持 反对

举报

返回顶部