晓木虫
学术数据库客户端

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

 找回密码
 注册会员

QQ登录

微信登录

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

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

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

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

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

快速排序去重?计算机专家与程序员的不同
大家都不容易!
以后多分享一些这样的有价值的帖子啊
以后多分享一些这样的有价值的帖子啊
论坛有你更精彩!
大家都不容易!
谢谢您的分享!
谢谢您的分享!
论坛有你更精彩!
好东西一定要看看!
以后多分享一些这样的有价值的帖子啊
谢谢您的分享!
好东西一定要看看!
论坛有你更精彩!
大家都不容易!
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则  | 请遵守晓木虫管理条例,不得违反国家法律法规

返回顶部