苏州建设交通招聘信息网站深圳高端网站建设费用
web/
2025/9/25 20:55:19/
文章来源:
苏州建设交通招聘信息网站,深圳高端网站建设费用,新乡网站优化平台,南昌企业免费建站快速排序 平均时间复杂度 O(NlogN) 最差时间复杂度O(N*N) 不稳定 它的基本思想是#xff1a;通过一趟排序将要排序的数据分割成独立的两部分#xff0c;其中一部分的所有数据都比另外一部分的所有数据都要小#xff0c;然后再按此方法对这两部分数据分别进行快速排序…快速排序 平均时间复杂度 O(NlogN) 最差时间复杂度O(N*N) 不稳定 它的基本思想是通过一趟排序将要排序的数据分割成独立的两部分其中一部分的所有数据都比另外一部分的所有数据都要小然后再按此方法对这两部分数据分别进行快速排序整个排序过程可以递归进行以此达到整个数据变成有序序列。 /** * 1先从数列中取出一个数作为基准数。 * 2分区过程将比这个数大的数全放到它的右边小于或等于它的数全放到它的左边。 * 3再对左右区间重复第二步直到各区间只有一个数。 * 时间复杂度为O(nlog n) * 不稳定排序方式 */
public class quickSort {public static int[] sort(int[] data, int left, int right){if (left right) {int mid partition(data, left, right);sort(data, left, mid - 1); //左边sort(data, mid 1, right); //右边}return data;///返回}public static int partition(int[] data, int left, int right) {int x data[left];//基准数 int i left;int j right;if (left right) {while (i j) {while ((ij) (data[j] x)) {j--;}if (i j){data[i] data[j];}while ((ij) (data[i] x)) { //从左边第一个小于x的数i;}if (i j) {data[j--] data[i];}}data[i] x;}return i;}public static void main(String[] args) { int[] data {4, 7, -4, 13, 6, 6, 18, 10, 85, 94}; quickSort.sort(data, 0, data.length - 1);}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81817.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!