假设存在一个46个元素的array,在java8的Arrays.sort方法到底用什么排序

1个回答
展开全部
摘要 亲,感谢您的耐心等待,已帮您查到假设存在一个46个元素的array,在java8的Arrays.sort方法
至于大过INSERTION_SORT_THRESHOLD(47)的,用一种快速排序的方法:
1.从数列中挑出五个元素,称为 “基准”(pivot);
2.重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;
3.递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。
元素少于47用插入排序,希望能帮到您
咨询记录 · 回答于2022-02-23
假设存在一个46个元素的array,在java8的Arrays.sort方法到底用什么排序
亲,您的问题已收到哟,整理答案需要一点时间,请您耐心等待五分钟,您也可以提供更多有效信息,以便我更细致为您排忧解难哦,感谢您的耐心等待
亲,感谢您的耐心等待,已帮您查到假设存在一个46个元素的array,在java8的Arrays.sort方法至于大过INSERTION_SORT_THRESHOLD(47)的,用一种快速排序的方法:1.从数列中挑出五个元素,称为 “基准”(pivot);2.重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;3.递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。元素少于47用插入排序,希望能帮到您
哪种排序方法的时间复杂度为O(ologn),空间复杂度为O(1)
亲,感谢您的耐心等待,已帮您查到哪种排序方法的时间复杂度为O(ologn),空间复杂度为O(1),利用整数的范围一般是0~65535.我们就声明一个65535大小的数组exist[65535]然后,让待排序的数组a[]={1,2,3,4,5,1,6,3};让数组a[]的每个值作为数组exist[]的下标,例如exist[a[0]] = exist[1] ++。由于出现了两个1,所以exist[1] = 2;以此类推得到了exist[2] =1,exist[3] =2 ,exist[4]=1,exist[5] =1,exist[6] =1.最后以exist[]下标为遍历,输出所有下标,并且根据值,就输出几次。时间复杂度为O(n)空间复杂度wie O(1)希望能帮到您
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消