快速排序到底有多快?
上期为大家介绍了快速排序(Quicksort),有很多同学会问: 快排是不是比之前几种排序都要快?它到底有多快? ,那就让我们一起来做个小实验测试一下吧!
目前给大家介绍过了6种排序:冒泡排序、选择排序、
插入排序、希尔排序、归并排序、快速排序,并且在上期讲快速排续时给出了快排的优化方案:对于大数据集排序先使用 快排 ,当分区达到一定小的时候使用 插入排序 ,有同学就有疑惑:为什么当分区达到一定小时要用 插入排序 ,这样真的会变快吗?
冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序
随机生成一个数据集,数据个数从10,100,1000依次递增到10万个
比较每个排序算法所用时长,多次测试,减少误差
首先对 随机数 进行排序,看看哪个排序方法较快;然后再对“ 基本有序 ”的数据集排序,再比较这几种排序方法用时 。
使用randint随机生成整数
数据集生成的基本思路:先生成一个有序数列,然后将少量数据插入有序数列中,这里取 0.1*n 个乱序插入到 0.9*n 个有序数列中 。
时间单位是秒,多次测试结果基本差不多,这里猪哥随机选取依次测试结果, 全场敷冰进行,请勿模仿 :
冒泡排序耗时:2.4080276489257812e-05
选择排序耗时:1.9311904907226562e-05
插入排序耗时:1.5020370483398438e-05
希尔排序耗时:1.5974044799804688e-05
归并排序耗时:2.8848648071289062e-05
快速排序耗时:1.9073486328125e-05
冒泡排序耗时:0.000782012939453125
选择排序耗时:0.0004570484161376953
插入排序耗时:0.00039076805114746094
希尔排序耗时:0.00018095970153808594
归并排序耗时:0.0003409385681152344
快速排序耗时:0.00017905235290527344
冒泡排序耗时:0.08327889442443848
选择排序耗时:0.03776884078979492
插入排序耗时:0.04986977577209473
希尔排序耗时:0.0034036636352539062
归并排序耗时:0.005920886993408203
快速排序耗时:0.0021750926971435547
冒泡排序耗时:8.781844854354858
选择排序耗时:3.438148021697998
插入排序耗时:4.186453819274902
希尔排序耗时:0.05663800239562988
归并排序耗时:0.06386470794677734
快速排序耗时:0.02335190773010254
冒泡排序耗时:900.5480690002441
选择排序耗时:879.1669909954071
插入排序耗时:428.66180515289307
希尔排序耗时:0.967015266418457
归并排序耗时:1.4872560501098633
快速排序耗时:0.3050980567932129
再经过几小时等待后,我仿佛闻到一股烧焦的味道,真香~
冒泡排序耗时:2.288818359375e-05
选择排序耗时:1.9788742065429688e-05
插入排序耗时:1.3113021850585938e-05
希尔排序耗时:1.5974044799804688e-05
归并排序耗时:2.9087066650390625e-05
快速排序耗时:1.811981201171875e-05
冒泡排序耗时:0.0004851818084716797
选择排序耗时:0.0004131793975830078
插入排序耗时:0.00013065338134765625
希尔排序耗时:0.00015997886657714844
归并排序耗时:0.00032019615173339844
快速排序耗时:0.00015974044799804688
冒泡排序耗时:0.05040717124938965
选择排序耗时:0.03394508361816406
插入排序耗时:0.009570121765136719
希尔排序耗时:0.0029370784759521484
归并排序耗时:0.005821943283081055
快速排序耗时:0.0022530555725097656
冒泡排序耗时:5.24026083946228
选择排序耗时:3.340329885482788
插入排序耗时:0.8101489543914795
希尔排序耗时:0.04622912406921387
归并排序耗时:0.05988883972167969
快速排序耗时:0.023930788040161133
无
我们从两种数据结果看,冒泡几乎都是最慢的
我们看到在随机数排序结果中,只有当 n=10 时,快排反而比较慢,而插入和希尔排序相对较快,这是因为插入排序和希尔排序都属于插入类型的排序,而快排和冒泡属于交换类排序,数据量少时交换所消耗的资源占比大 。
在基本有序数据排序结果中,当n=10和n=100中都是插入排序消耗时间更短,因为数据基本有序,所以需要插入的次数比较少,尽管插入排序需要一个一个比较,但因为数据量不大,所以比较所消耗的资源占比不会太大 。
快排果然还是名副其实的快,我们看到当数据集达到十万级别时,冒泡排序已经用时800多秒,而快排只用了0.3秒,相信随着数据量的增大,它们之间的差距也会越来越大 。
之前我们讲过快排优化方案:对于大数据集排序先使用 快排 ,使数据集达到 基本有序 ,然后当分区达到一定小的时候使用 插入排序 ,因为插入排序对少量的基本有序数据集性能优于快排!
网站快速排名优化系统哪家好?
网站快速排名优化系统,一般叫网站快排技术,目前国内有在做的应该也有几千家,大部分是代理,有自己技术的,应该不会超过1000家 。
但是这几百家,原理基本上都差不多,所以不敢说哪家绝对好 。
目前在福建,知道还不错的,就是厦门网盛科技,合作好几年了,效果确实不错,而且服务也好 。
另外,也建议在对其他网络不熟悉的情况下,还是尽量选择本地、有资质的公司来合作 。
泰州网站排名优化
泰州网站排名优化是结合pc端优化长尾词,带动主词排名上升,同时还可以给网站出现过却没有排名的关键词提升权重,颠覆传统seo优化,超快排网站关键词排名系统,网站排名按优化扣费 。
排名速度快,7到15天上首页,资深快排优化工程师团队,让网站关键字排名稳定快速上前,提高您的网站流量,百度刷排名优化的原理是主关键词的相关关键词流量占比越大,排名越好 。
泰州发布最新疫情防控通告
各交通场站,卡口强化查验健康码,行程卡和核酸检测报告,并做好人员信息登记,一旦发现红,黄码人员立即采取管控措施 。
各级各类单位,建筑工地,经营场所,社区,等根据实际情况合理设置出入通道,组织力量轮班值守,强化查验管控措施,督促所有人员规范佩戴口罩,测量体温,扫场所码,出示健康码和行程卡 。
【泰州网站排名优化 快排优化工具】关于快排优化和快排优化工具的内容就分享到这儿!更多实用知识经验,尽在 www.hubeilong.com
- 湖人东西部排名,东西部排名最新
- 北斗手机网今天怎么上不去了 北斗手机网官方网站
- 莆田一中全国排名,莆田一中校长
- 学军中学紫金港校区,学军中学排名第几
- 宁夏高考网上报名流程,宁夏高考官方网站
- 斯莱德官方网站,斯莱德男装品牌倒闭了
- 长春专科学校排名文科,长春职业技术学院
- 抖音星图是什么 星图是什么网站
- 大连招聘的网站,【大连招聘网|2021年大连招聘信息】
- 广州百度seo排名优化网络营销找哪家公司可靠 广州seo公司排行