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

网站建设近义词中国风网站怎么配色

网站建设近义词,中国风网站怎么配色,福州服务专业公司网站建设,pa66用途障车做网站排序算法是数据结构与算法中最基本的算法之一#xff0c;其作用就是将一些可以比较大小的数据进行有规律的排序#xff0c;而想要实现这种排序就拥有很多种方法~ 那么我将通过几篇文章#xff0c;将排序算法中各种算法细化的#xff0c;详尽的为大家呈现出来#xff1a; …排序算法是数据结构与算法中最基本的算法之一其作用就是将一些可以比较大小的数据进行有规律的排序而想要实现这种排序就拥有很多种方法~ 那么我将通过几篇文章将排序算法中各种算法细化的详尽的为大家呈现出来 非线性时间比较类 插入类排序数据结构与算法之排序算法-插入排序-CSDN博客 直接插入排序 希尔排序 交换类排序数据结构与算法之排序算法-快速排序(分治)-CSDN博客 冒泡排序 冒泡排序-优化 快速排序(Hoare挖坑法前后指针法) 快速排序-优化 选择类排序数据结构与算法之排序算法-选择排序-CSDN博客 简单选择排序 堆排序 归并类排序[本篇]  归并排序 线性时间非比较类 非比较类排序数据结构与算法之排序算法-(计数,桶,基数排序)-CSDN博客 计数排序 桶排序 基数排序 一、归并排序 稳定性稳定 时间复杂度O(n logn) 额外空间复杂度O(n) 归并排序也是一种在实际应用中比较常用的排序算法这是因为它的速度和快速排序一样也是O(n logn)并且相较于快速排序归并排序还具有稳定性 但唯一的缺点就是归并排序并不是原地算法而是需要开辟一个和原数组一样大小的辅助数组所以归并排序的额外空间复杂度为O(n) ① 习题引入:合并排序的数组 首先为什么要使用这题作为习题引入呢我们先接着上面的话题研究研究归并排序 上面我们提到归并排序的时间复杂度为O(n logn)从这里就不难猜出归并排序的算法大概也是和快排类似是一种不断将数组分为两份的排序算法也就是分治 归并排序的基本思想取数组的开始位置为left结束位置为right不断对数组取中间下标mid使数组均匀的被分成两个新数组并继续对新数组进行如上操作。 直到left right(数组中只有一个元素)时我们认为此时这个数组为有序数组将它向上递归。按照这个思想我们后续递归回去的数组也都是有序的而如此便能够提到我们上面说的这道习题了合并排序的数组 思路提示 合并有序的数组想必对大家来说肯定非常简单的~毕竟我们之前在学习链表的时候就实现过类似的题目而合并有序链表应该是比合并有序数组要更加复杂一点点的。 我们只需要创建一个新的数组 arr 使他的长度等于两个数组之和然后遍历两个数组使用双指针的思想用cur1遍历 arr1用cur2遍历arr2将较小的元素放入arr中随后移动cur1/cur2。 (最后可能会有一个数组没被加入完记得处理一下就好) 代码示例 class Solution {public void merge(int[] A, int m, int[] B, int n) {int[] nums new int[m n];int cur1 0;int cur2 0;int i 0;while(cur1 m cur2 n){nums[i] A[cur1] B[cur2] ? A[cur1] : B[cur2];}while(cur1 m) nums[i] A[cur1];while(cur2 n) nums[i] B[cur2];for(i 0;i n m;i){A[i] nums[i];}} } ② 归并排序 而上面我们又提到了将有序的数组向上递归排序后再递归这样多此递归下来我们就能够得到我们想要的有序数组。 这样就正好验证了归并排序的排序速度与其中数组的有序性并没有关系也就是说它是稳定的O(n logn)的排序~ ⭐ 图示 代码示例 public static int[] arr;public int[] sortArray(int[] nums) {arr new int[nums.length];mergeSort(nums, 0, nums.length - 1);return nums;}public static void mergeSort(int[] array, int left, int right) {if (left right) {return;}int mid left (right - left) / 2;mergeSort(array, left, mid);mergeSort(array, mid 1, right);int cur1 left;int cur2 mid 1;int i 0;while (cur1 mid cur2 right) {arr[i] array[cur1] array[cur2] ? array[cur1] : array[cur2];}while (cur1 mid) {arr[i] array[cur1];}while (cur2 right) {arr[i] array[cur2];}for (i left; i right; i) {array[i] arr[i - left];}} 那么上次我们学习的快速排序优化版能跑多少ms呢能跑到 30多ms~ 而归并排序跑了 28ms再一次证明了它O(n logn)的速度是多么的稳定(内存消耗的多就是了)。 那么这篇关于归并排序的文章到这里就结束啦作者能力有限如果有哪里说的不够清楚或者不够准确还请各位在评论区多多指出我也会虚心学习的我们下次再见啦
http://www.hkea.cn/news/14272379/

相关文章:

  • 关键词排名提高seo软件服务
  • 买网站服务器要多少钱wordpress 文章 分类 页面
  • 做网站银川保险网上预约
  • 网站美化的目标广东工程建设咨询有限公司网站
  • 网站建设背景分析论文哈尔滨网站建立公司
  • 霸州市网站建设电子商务网站建设与维护李建忠下载
  • 网站建设万首先金手指14wordpress二维码手工
  • 大学生网站建设方案温州网站开发流程
  • 网站焦点图怎么做搜索引擎优化seo专员
  • 校内二级网站建设整改方案同ip网站做301
  • 医院网站开发公司企信网查询
  • asp网站镜像代码免费的编程自学软件
  • 马家堡网站建设旅游网络营销方式
  • 媒体网站网页设计做外国购物网站需要交税吗
  • 做网站能挣钱么网站用户体验比较
  • 企业网站建设_秒搜软件开发工程师是程序员吗
  • 免费做网站网站有人哪些nodejs适合网站开发
  • 网站鼠标特效代码广州深圳做网站
  • 石家庄网站定制制作邹平网站建设公司报价
  • 河北建设厅网站打不开是什么原因天津网站优化
  • seo知名公司企业网站关键字优化
  • 邯郸网站改版费用wordpress 图片相册
  • 公司网站怎么注册铜川微网站建设
  • 自己电脑如何做网站服务器沧州南皮网站建设公司
  • 网站为何站长统计上海建智建设工程咨询
  • 潜江网站设计公司东莞网站设计费用
  • 课题组研究网站怎么做wordpress登录查看
  • 企业网站空间选择桂林互联网
  • 阿里云怎么做静态网站软文世界平台
  • 网站seo标题优化技巧网站空间支付方式