golang实现快速排序 排有序数组是效率低的问题

来源:1-7 为快速排序添加随机化

404_

2023-06-13 12:16:03

问题描述:

如果不加随机索引 10万有序数据,排序耗时17秒左右
如果增加随机索引(代码如下) 耗时4到5秒

p := rand.Intn(right-left)+left+1
swap(arr, left,p)

我最初还以为是如下图 rand.Seed函数的问题。结果发现 如果不加rand生成随机数 会更慢。跟rand.Seed函数其实没有关系,增加了rand生成随机数还算是优化了耗时。。。
图片描述
所以,golang的快速排序 排有序数组为什么这么慢?有懂行的吗?

写回答

1回答

404_

提问者

2023-06-13

但是排序10万的随机数组,耗时0.009s。速度还是可以的

0
hiuyubobobo
回复
h04_
hp>请给我你的调用测试代码。谢谢。

h023-06-17
共4条回复

算法与数据结构

波波老师5年集大成之作,算法与数据结构系统学习,考试、面试、竞赛通用

2610 学习 · 1087 问题

查看课程