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

宿迁网站推广公司wordpress设置数据库密码

宿迁网站推广公司,wordpress设置数据库密码,珠海微网站制作,网站在线支付接口一、算法介绍 快速排序#xff1a;快速排序的基本思想是通过一次排序将等待的记录分成两个独立的部分#xff0c;其中一部分记录的关键字小于另一部分的关键字。C部分的快速排序一直持续到整个序列被排序。 任取一个元素 (如第一个) 为中心提出所有小于它的元素#xff0c;并…一、算法介绍 快速排序快速排序的基本思想是通过一次排序将等待的记录分成两个独立的部分其中一部分记录的关键字小于另一部分的关键字。C部分的快速排序一直持续到整个序列被排序。 任取一个元素 (如第一个) 为中心提出所有小于它的元素并将大于它的元素放回形成左右两个子表。为每个子表重新选择中心元素并根据此规则进行调整直到每个子表只剩下一个元素 ①每次行程的子表是由两端到中间的交替近似形成的。 ②由于每个子表的操作在每次行程中都是相似的所以可以使用递归算法。 二、基本步骤 设置两个指针ij首先在序列中选择一个.temp并将数字J点与temp进行比较。如果它大于温度它将减少1。如果它小于TEMP则应该取高于当前位置J的值。 三、算法分析 最好划分后左侧右侧子序列的长度相同, 最坏从小至大递归树变成一棵树。每个分区只能得到一个对象的子序列小于前一个。它必须通过n-1次来定位所有对象第二次需要通过n-i键代码比较来找到第二个对象的位置。   如果所有可能的置换的概率相同则优选最佳情况和最坏情况平均值。 时间效率O(nlog2n) —每趟确定的元素呈指数增加空间效率Olog2n—递归要用到栈空间稳 定 性 不稳定 —可选任一元素为支点 1.如何选枢纽 从上面的描述中可以看出快速排序是通过枢轴点来回交换的因此快速排序的分类次数与初始序列有关。因此选择快速分选的关键点非常重要因为它关系到分选的效率。 取前或后法序列中的第一个或最后一个元素用作基准如果输入序列上面的数组是随机的则处理时间是可接受的。如果数组已经被排序那么分区就是一个非常糟糕的分区。由于每个分区只能减少要排序的序列所以这是最坏的情况并且时间复杂度为_(n^2)。此外输入数据排序或部分排序是很常见的。因此使用第一个元素作为中心元素是非常糟糕的。 随机选取基准这是一个相对安全的策略。因为枢轴的位置是随机的所以得到的分割不会总是产生不好的分割。当整个阵列相同时仍然是最坏的情况并且时间复杂度为On2。因此对于大多数输入数据随机快速排序可以达到Onlogn的预期时间复杂度。 三数取中法在快速排队过程中每次我们以一个元素作为支点值用该数将序列分成两部分。本文采用三位数法即以左、中、右三位数作为关键值然后进行排序。显然三位数的中值分割方法消除了预排序输入的不良情况并将快速队列的比较次数减少了大约14%。 2.如何证明时间复杂度 1、最优情况 在最佳情况下分区平均每次分区。如果对n个关键字进行排序则递归树的深度为[log2n]1([x]表示不大于x的最大整数)。也就是说只需要2次递归日志所需的时间是tn。第一个分区应该扫描整个阵列一次。n次比较。然后获得的枢轴将阵列分成两部分因此每个部分需要T(n/2)时间(注意最佳情况是所以分成两半)。结果作为连续划分的结果作出了以下不等式推断这表明在最佳情况下快速排序算法的时间复杂度为OnLogn。 2.最坏情况 然后看看快速调度的最坏情况当要排序的序列是正序或反序时并且每个分区只产生比前一个分区少一个记录子序列注意另一个是空的。如果绘制递归树则它是倾斜树。此时需要执行n‐1次递归调用且第i次划分需要经过n‐i次关键字的比较才能找到第i个记录也就是枢轴的位置因此比较次数为n(n-1)/2最终其时间复杂度为O(n^2)。 3.平均时间复杂度 直接设对规模的数组排序需要的时间期望为, 期望其实就是平均复杂度换个说法.空表的时候不用排, 所以初值条件就是 T(0) 0 .所谓快排就是随便取出一个数,一般是第一个数,然后小于等于他的放左边, 大于他的的排右边.比如左边 k 个那接下来还要排: T(n - k) T (k - 1) 的时间.然后 k 多少那是不确定的, 遍历 1~ n , 出现概率都是相等的. 另外分割操作本身也要时间 P(n) , 操作花费是线性时间 P(n) cn , 这也要加进去, 所以一共是: 四、完整代码示例 1 public class QuickSort {2 3 //任取一个元素 (如第一个) 为中心4 //所有比它小的元素一律前放比它大的元素一律后放形成左右两个子表5 //对各子表重新选择中心元素并依此规则调整直到每个子表的元素只剩一个6 //一趟排序过程后我们返回枢纽的位置7 int partition(int A[], int left, int right) {8 //选择枢纽元素9 int p A[left]; 10 while (left right) { 11 //如果尾指针位置的数比枢纽数要大移动尾指针的位置否则就把所指示的值给首指针的位置 12 while (left right A[right] p) { 13 --right; 14 } 15 A[left] A[right]; 16 //如果首指针位置的数比枢纽数要小移动首指针的位置否则就把所指示的值给尾指针的位置 17 while (left right A[left] p) { 18 left; 19 } 20 A[right] A[left]; 21 } 22 //此时的首尾指针已经相等把枢纽的值赋给首尾指针相等的位置即可 23 A[left] p; 24 return left; 25 } 26 27 //快速排序的递归 28 void Quick(int A[], int left, int right) { 29 //定义一个枢纽的位置 30 int pnode; 31 if (left right) { 32 pnode partition(A, left, right); 33 Quick(A, left, pnode - 1); 34 Quick(A, pnode 1, right); 35 } 36 } 37 38 public static void main(String[] args) { 39 40 }
http://wiki.neutronadmin.com/news/212039/

相关文章:

  • 陶瓷行业网站建设招标书网站为何站长统计
  • 地产网站建设公司网络舆情处理公司
  • wordpress可以注册了短视频seo询盘获客系统软件
  • 宁波公司网站建设价格广西专业网站建设
  • 更改了网站关键词后要怎么做成都网站快速排名优化
  • 建设网站哪家比较好专业html5网站建设
  • 厦门市建设局网站规划标准网站建设q a
  • 怎么让谷歌收录我的网站js制作网页制作步骤
  • 绵阳微网站制作做农产品的网站名称
  • 图片做动画网站wordpress 内链插件
  • 怎么样自己制作网站百度提交工具
  • 建设网站申请书施秉网站建设
  • 中山专业手机网站建设二级建造师证报考要求
  • ui设计比较成功的网站页面西安公司建设网站
  • 中国建设人才信息网是官方网站吗wordpress更新慢
  • app网站开发协议梦幻西游网页版下载
  • 使用python建设一个论坛网站php 购物网站开发
  • 诸城做网站建设的东莞网络营销价格咨询
  • 大连建设网官网网上办公大厅汉阳网站推广优化
  • 可以跟关键词密度过高的网站交换友情链接吗广州网站策划公司
  • ftp发布asp.net网站免费做产品宣传的网站
  • 淘宝基地网站怎么做wordpress婚庆模板下载
  • 网站建设的渠道策略智慧团建网站登录平台手机版
  • 网站建设前端和后端的区别沧州企业网站
  • wordpress做旅游网站wordpress网页标签图标
  • 企业网站的建立流程的第一步是网上推广工作
  • 网站开发软件的选择ui设计手机交互界面下载
  • 餐饮网站模板做网站到内容填充需要多久
  • 影楼网站模版网站建设综合实践 教材
  • 大气网站模板免费下载网站没有后台怎么更新文章