当前位置: 首页 > news >正文

佛山专业网站设计公司wordpress做简单的商城

佛山专业网站设计公司,wordpress做简单的商城,网站底部美化代码,北极鱼wordpress随机化快速排序 一、概念及其介绍 快速排序由 C. A. R. Hoare 在 1960 年提出。 随机化快速排序基本思想#xff1a;通过一趟排序将要排序的数据分割成独立的两部分#xff0c;其中一部分的所有数据都比另外一部分的所有数据都要小#xff0c;然后再按此方法对这两部分数…随机化快速排序 一、概念及其介绍 快速排序由 C. A. R. Hoare 在 1960 年提出。 随机化快速排序基本思想通过一趟排序将要排序的数据分割成独立的两部分其中一部分的所有数据都比另外一部分的所有数据都要小然后再按此方法对这两部分数据分别进行快速排序整个排序过程可以递归进行以此达到整个数据变成有序序列。 二、适用说明 快速排序是一种比较快速的排序算法它的平均运行时间是 O(nlogn)之所以特别快是由于非常精练和高度优化的内部循环最坏的情形性能为 O(n^2)。像归并一样快速排序也是一种分治的递归算法。从空间性能上看快速排序只需要一个元素的辅助空间但快速排序需要一个栈空间来实现递归空间复杂度也为O(logn)。 三、过程图示 在一个数组中选择一个基点比如第一个位置的 4然后把4挪到正确位置使得之前的子数组中数据小于 4之后的子数组中数据大于 4然后逐渐递归下去完成整个排序。 如何和把选定的基点数据挪到正确位置上这是快速排序的核心我们称为 Partition。 过程如下所示其中 i 为当前遍历比较的元素位置 这个 partition 过程用代码表示为 实例 ... private static int partition(Comparable[] arr, int l, int r){     Comparable v arr[l];     int j l;     for( int i l 1 ; i r ; i )         if( arr[i].compareTo(v) 0 ){             j ;             //数组元素位置交换             swap(arr, j, i);         }     swap(arr, l, j);     return j; }    ... 如果是对近乎有序的数组进行快速排序每次 partition 分区后子数组大小极不平衡容易退化成 O(n^2) 的时间复杂度算法。我们需要对上述代码进行优化随机选择一个基点做为比较称为随机化快速排序算法。只需要在上述代码前加上下面一行随机选择数组中一数据和基点数据进行交换。 swap( arr, l , (int)(Math.random()*(r-l1))l ); 四、Java 实例代码 源码包下载Downloadhttps://www.runoob.com/wp-content/uploads/2020/09/runoob-algorithm-random-quick-sort.zip QuickSort.java 文件代码 package runoob; /**  * 随机化快速排序  */ public class QuickSort {     // 对arr[l...r]部分进行partition操作     // 返回p, 使得arr[l...p-1] arr[p] ; arr[p1...r] arr[p]     private static int partition(Comparable[] arr, int l, int r){         // 随机在arr[l...r]的范围中, 选择一个数值作为标定点pivot         swap( arr, l , (int)(Math.random()*(r-l1))l );         Comparable v arr[l];         // arr[l1...j] v ; arr[j1...i) v         int j l;         for( int i l 1 ; i r ; i )             if( arr[i].compareTo(v) 0 ){                 j ;                 swap(arr, j, i);             }         swap(arr, l, j);         return j;     }     // 递归使用快速排序,对arr[l...r]的范围进行排序     private static void sort(Comparable[] arr, int l, int r){         if (l r) {             return;         }         int p partition(arr, l, r);         sort(arr, l, p-1 );         sort(arr, p1, r);     }     public static void sort(Comparable[] arr){         int n arr.length;         sort(arr, 0, n-1);     }     private static void swap(Object[] arr, int i, int j) {         Object t arr[i];         arr[i] arr[j];         arr[j] t;     }     // 测试 QuickSort     public static void main(String[] args) {         // Quick Sort也是一个O(nlogn)复杂度的算法         // 可以在1秒之内轻松处理100万数量级的数据         int N 1000000;         Integer[] arr SortTestHelper.generateRandomArray(N, 0, 100000);         sort(arr);         SortTestHelper.printArray(arr);     } }
http://www.dnsts.com.cn/news/7980.html

相关文章:

  • php网站模块修改绍兴网站专业制作
  • 北京网站手机站建设公司电话宁波建设集团几个分公司
  • 分析竞争对手网站建设摩托车官网中国
  • 360建设网站免费做黑彩票的网站赚钱吗
  • 福田网站建设公司乐云seo评价一个网站设计的好坏
  • 成都建立网站的公司专业做网站的顺德公司
  • 网站维护预算海口网格员
  • 云服务器上建网站网站建设 英语翻译
  • 网站可以做库存吗业务代刷平台网站怎么做
  • 商丘做网站汉狮网络linux wordpress安装
  • 汉川做网站wordpress pdf 打印
  • 自学网站查分数iis7配置asp.net网站
  • 建设银行打印回单网站平面设计师资格证怎么考
  • 天都城网站建设如何建平台网站
  • 免费的企业网站模板jwplayer wordpress
  • 网站设计要多少钱优化营商环境调度
  • 海南省建设培训与执业资格注册中心网站wordpress设置访问密码
  • 百度网站建设产品泰州高端网站建设如何收费
  • 如何免费创建自己的小程序广州网站优化流程
  • 电信ip做的网站移动不能访问怎么在360上做推广
  • 昆山周市建设局网站郑州艾特网站建设公司
  • 采集网站会员wordpress表前缀
  • 网站建设要什么软件长春网站建设电话咨询
  • 网站正在建设中换句话表达建个人网站怎么赚钱吗
  • 哪个网站建站比较好网站建设费是什么意思
  • 摄影网站开发的背景蛋糕店网站设计模板
  • 外贸网站教程一个域名做两个网站可以么
  • 网站做外链是什么意思新氧整形网站开发模版
  • 网站如何添加百度商桥网站排名不稳定怎么办
  • 做分销微商城网站wordpress中文广告