网站建设套餐表wordpress升级后编辑文章很慢

web/2025/10/2 9:07:41/文章来源:
网站建设套餐表,wordpress升级后编辑文章很慢,湖南政务服务网,企业网站网址举例快速排序在平均状况下#xff0c;排序n个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n^2)次比较#xff0c;但这种状况并不常见。事实上#xff0c;快速排序通常明显比 其他Ο(n log n)算法更快#xff0c;因为它的内部循环(inner loop)可以在大部分的架构上很有效率地…快速排序在平均状况下排序n个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n^2)次比较但这种状况并不常见。事实上快速排序通常明显比 其他Ο(n log n)算法更快因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists)。步骤为1.从数列中挑出一个元素称为”基准”(pivot) 2.重新排序数列所有元素比基准值小的摆放在基准前面所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区结束之后该基准就处于数列的中间位置。这个称为分区(partition )操作。 3.递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。效果图如下partition方法partition方法是快速排序算法的核心下面先写一个简单的原地(in-place)分区的版本。[代码]java代码010203040506070809101112131415161718192021222324252627public class Test1   {public static void main(String   args[]) {int[]   a {354,656,21,2342,65,657,76,12,54,778,50,31,333,45,56,86,97,121} ;System.out.print(partition(a,2))   ;}static int partition(int arr[], int pivotIndex){int start 0 ;int end arr.length - 1 ;int pivot arr[pivotIndex];swap(arr,pivotIndex,   end);int storeIndex start;for(int i start; i end; i) {if(arr[i]   pivot) {swap(arr,i,   storeIndex);storeIndex;}}swap(arr,storeIndex,   end);return storeIndex;}public  static    void    swap ( int [] data,  int  a,  int  b) {int  t data [a];data   [a] data [b];data   [b] t;}}首先注意swap方法swap方法用于交换数组中的两个元素。partition当中调用了三次swap我们随机选中一个位置作为”基准”(pivot),第一次交换就是把这个pivot交换到数组最后一位。 第三次当然就是把它从最后一位交换到它应该在的位置。中间的for循环是这个方法的核心。storeIndex就是最后pivot摆放的位置。storeIndex前面的元素都比pivot小storeIndex之后的元素都比pivot大。 所以我们从第一个元素遍历到最后一个目的是把全部元素分成两段storeIndex位于两段中间第一段全部是是小于pivot的元素 第二段都是大于pivot的元素完成分段之后在把pivot从最后一个位置交换到两段中间。 循环时发现元素小于pivot就把元素移动到后半段子序列的开头然后把后半段开头的标记位storeIndex1。这就是for循环里的工作。要注意的是一个元素在到达它的最后位置前可能会被交换很多次。 下面对原地分区的版本进行优化如下[代码]java代码01020304050607080910111213141516171819static int partition(int arr[], int pivotIndex){int start 0 ;int end arr.length -1;int mid arr[pivotIndex];int left start, right end - 1;while (left right) {while (arr[left] mid left   right)left;while (arr[right] mid left   right)right--;swap(arr,left,   right);}if (arr[left] arr[end])swap(arr,left,   end);elseleft;return left;}现在我们采用了两个指针对应两个子while循环一个从前向后遍历一个从后向前遍历。从前向后遍历时遇到大于基准数pivot的时候停止 从后向前遍历时遇到小于基准数pivot的时候停止然后交换两个数。一旦我们有了这个分区算法要写快速排列本身就很容易。完整的快排算法[代码]java代码010203040506070809101112131415161718192021222324252627282930313233343536public class Test2   {static int[] arr  ;private static void swap(int x, int y) {int temp arr[x];arr[x]   arr[y];arr[y]   temp;}private static void quick_sort_recursive(int start, int end) {if (start end)return;int mid arr[end];int left start, right end - 1;while (left right) {while (arr[left] mid left   right)left;while (arr[right] mid left   right)right--;swap(left,   right);}if (arr[left] arr[end])swap(left,   end);elseleft;quick_sort_recursive(start,   left - 1);quick_sort_recursive(left   1, end);}public static void sort(int[]   arrin) {arr   arrin;quick_sort_recursive(0,   arr.length - 1);}public static void main(String   args[]) {int[]   a   {354,656,21,2342,65,657,76,12,54,778,50,31,333,45,56,86,97,121} ;sort(a);System.out.print(Arrays.toString(arr));}}算法分析快速排序的时间主要耗费在划分操作上对长度为 k 的区间进行划分共需 k-1 次关键字的比较。最坏时间复杂度最坏情况是每次划分选取的基准都是当前无序区中关键字最小(或最大)的记录划分的结果是基准左边的子区间为空(或右边的子区间为空) 而划分所得的另一个非空的子区间中记录数目仅仅比划分前的无序区中记录个数减少一个。 因此快速排序必须做 n-1 次划分 第i次划分开始时区间长度为 n-i1所需的比较次数为 n-i(1≤i≤n-1)故总的比较次数达到最大值Cmax n(n-1)/2O(n^2)如果按上面给出的划分算法每次取当前无序区的第 1 个记录为基准那么当文件的记录已按递增序(或递减序)排列时 每次划分所取的基准就是当前无序区中关键字最小(或最大)的记录则快速排序所需的比较次数反而最多。最好时间复杂度在最好情况下每次划分所取的基准都是当前无序区的”中值”记录划分的结果是基准的左、右两个无序子区间的长度大致相等。 总的关键字比较次数O(nlgn)注意 用递归树来分析最好情况下的比较次数更简单。因为每次划分后左、右子区间长度大致相等故递归树的高度为 O(lgn) 而递归树每一层上各结点所对应的划分过程中所需要的关键字比较次数总和不超过n故整个排序过程所需要的关键字比较总次数 C(n)O(nlgn)。因为快速排序的记录移动次数不大于比较的次数所以快速排序的最坏时间复杂度应为 O(n^2)最好时间复杂度为 O(nlgn)。平均时间复杂度尽管快速排序的最坏时间为 O(n^2)但就平均性能而言它是基于关键字比较的内部排序算法中速度最快者快速排序亦因此而得名。 它的平均时间复杂度为 O(nlgn)。基准关键字的选取在当前无序区中选取划分的基准关键字是决定算法性能的关键。1.”三者取中”的规则“三者取中”规则即在当前区间里将该区间首、尾和中间位置上的关键字比较取三者之中值所对应的记录作为基准 在划分开始前将该基准记录和该区伺的第1个记录进行交换此后的划分过程与上面所给的 Partition 算法完全相同。2.取位于 low 和 high 之间的随机数k(low≤k≤high)用 R[k] 作为基准选取基准最好的方法是用一个随机函数产生一个取位于 low 和 high 之间的随机数 k(low≤k≤high)用 R[k] 作为基准 这相当于强迫R[low..high]中的记录是随机分布的。用此方法所得到的快速排序一般称为随机的快速排序。注意 随机化的快速排序与一般的快速排序算法差别很小。但随机化后算法的性能大大地提高了尤其是对初始有序的文件 一般不可能导致最坏情况的发生。算法的随机化不仅仅适用于快速排序也适用于其它需要数据随机分布的算法。空间复杂度快速排序在系统内部需要一个栈来实现递归。若每次划分较为均匀则其递归树的高度为 O(lgn)故递归后需栈空间为 O(lgn)。 最坏情况下递归树的高度为 O(n)所需的栈空间为 O(n)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

建网站服务器系统旅游网页设计模板网站免费

笔记本win10系统的打印机服务怎么禁用或重启腾讯视频/爱奇艺/优酷/外卖 充值4折起在我们的生活中,如果打印机出错了,我们就需要关闭打印机或者重启打印机,那么笔记本的win10系统禁用/启动打印机服务方法是什么呢?下面小编告诉大家…

钓鱼网站建设百度识图在线识图

安科瑞戴婷 Acrel-Fanny 前言 今年以来,在政策利好推动下光伏、风力发电、电化学储能及抽水蓄能等新能源行业发展迅速,装机容量均大幅度增长,新能源发电已经成为新型电力系统重要的组成部分,同时这也导致新型电力系统比传统的电…

产品销售型企业网站有哪些济南网站开发定制

策略模式定义封装在通常称为Context的驱动程序类中的一系列算法,并使这些算法可互换。 它使算法易于互换,并提供了在特定时间选择适当算法的机制。 算法(策略)在运行时由客户端或上下文选择。 在与客户端交互期间,Con…

设计师常用网站网站的推广方式有哪些

Windows power shell/cmd/shell/脚本 1、shell shell:shell脚本运行的环境,是一个概念不是特指 shell脚本:shell脚本就是将一系列命令按照一定的顺序保存到一个文本文件中,该文本文件被赋予执行权限,执行时依次执行…

北京电商购物网站开发杭州富阳网站建设

环境: ubuntu-2404-server、virtualbox 7.0.18 新建虚拟机 分配 CPU 核心和内存(根据自己电脑实际硬件配置选择) 分配磁盘空间(根据自己硬盘实际情况和需求分配即可) 设置网卡,网卡1 负责上网&#xff0c…

网站推广建设企业管理培训班哪个好

JMeter安装UDP插件后支持发送UDP协议的请求包,官方介绍安装插件后可以用来测试DNS, NTP, TFTP, Boot servers and many-many other systems。 JMeter UDP插件下载地址:http://jmeter-plugins.org/downloads/all/,下载JMeterPlugins-Extras-X.…

网站建设教程实训心得如何申请一个自己的网站

首先,先排除硬件上的问题,使用示波器检测引脚电压是否正常?波形收发是否正常?多用几块板子进行对比测试。如果硬件没有问题,则进行软件上的排除。 在硬件测试无问题基础上,单片机与某功能模块进行串口通信…

深圳前十网站建设公司桂林建网站的公司

一、服务端接收消费者拉取数据的方法二、遍历请求中需要拉取数据的主题分区集合,分别执行查询数据操作,1、会选择合适的副本读取本地日志数据(2.4版本后支持主题分区多副本下的读写分离) 三、会判断当前请求是主题分区Follower发送的拉取数据请求还是消费…

超市会员管理系统seo外包公司多少钱

第8天 小型软件项目开发 8.1 记事本开发 小技巧:用VC6新建工程,以资源方式打开系统自带notepad.exe中的MENU资源,加入到自己新建的工程中;然后再添加到VS工程中,即可获取现有exe的菜单资源。 EndDialog中传入的参数…

甜品网站设计与实现毕业设计php学校网站建设

地点:茗福轩西班牙的一对情侣。老板娘在用电脑讲解。品完茶好像不过瘾,还要去酒吧喝点。

商城网站的开发怎么做贵阳设计网站

异常处理概述在代码的运行过程中,错误是不可避免的,总的来说,错误发生于两种情况:一是程序内部的逻辑或者语法错误,二是运行环境或者用户输入中不可预知的数据造成的错误。对于前者,就称之为错误&#xff0…

网站制作公司 云南中卫网站推广优化

一、goroutine 池 本质上是生产者消费者模型在工作中我们通常会使用可以指定启动的 goroutine 数量-worker pool 模式,控制 goroutine 的数量,防止 goroutine 泄漏和暴涨一个简易的 work pool 示例代码如下: package mainimport ("fmt…

网站改版技术要求e福州首页

转载声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:在NS-3中安装可视化工具pyviz的一些问题的解决_寻同学的博客-CSDN博客 今天,在更新软件时,使用以下…

葫芦岛建设工程信息网站hyperx wordpress 汉化

cpu 抖动性能分析新机器 当我在新机器上工作时,我想了解它的局限性。 在这篇文章中,我将研究机器的抖动以及忙于等待本周末构建的新PC的影响。 该机器的规格很有趣,但不是发布目的。 永远不要少于它们: i7-3970X六核运行于4.5 GH…

美容医疗 网站建设宽屏网站宽度

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣322. 零钱兑换二、力扣509. 斐波那契数三、力扣46. 全排列四、力扣51. N 皇后五、力扣52. N 皇后 II 前言 一、力扣322. 零钱兑换 class Solution {pu…

网站开发的整个流程学it要多久多少学费

来源:amazonaws.com摘要:长期以来,使用无监督(预)训练来提高区别性任务的性能表现一直是机器学习研究的一个重要目标。最近,OpenAI通过使用一个具有可扩展性的任务不可知系统,在一系列不同的自然…

建设银行城东支行网站网站报价表格

系列文章 1.SpringBoot整合RabbitMQ并实现消息发送与接收 2. 解析JSON格式参数 & 修改对象的key 3. VUE整合Echarts实现简单的数据可视化 4. Java中运用BigDecimal对字符串的数值进行加减乘除等操作 5. List<HashMap<String,String>&…

护肤品网站建设的摘要iis2008如何做网站

目录 一、摘要1.1 项目介绍1.2 项目详细录屏 二、功能模块2.1 数据中心模块2.2 二手商品档案管理模块2.3 商品预约管理模块2.4 商品预定管理模块2.5 商品留言板管理模块2.6 商品资讯管理模块 三、实体类设计3.1 用户表3.2 二手商品表3.3 商品预约表3.4 商品预定表3.5 留言表3.6…

井冈山保育院网站建设网站前后端的关系

快捷键快捷键符号英文名称功能说明Control Space⌃SpaceBasic code completion基本的代码补全(补全任何类、方法、变量),代码智能提示,因为和切换输入法快捷键冲突,所以基本改成Alt/Shift Command Enter⌘⇧↩Compl…

网站硬件费用wordpress地图页面如何添加

朋友们好! 春天来了,我们热情洋溢的团队很高兴能为 Gotchiverse 带来一堆新鲜的更新和丰富的功能。让我们一起来看看这次开发更新带来了什么: Gotchichain 选择定居基地 精神力量竞技场获得了 EBIC 更新 高奇守护者通过全新的进阶系统提升…