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

42区 网站开发指南佛山网站关键词

42区 网站开发指南,佛山网站关键词,网站建设广告词,最近军事新闻热点大事件2022冒泡排序 时间复杂度为 O(n^2) 原理 比较相邻的元素. 如果第一个比第二个大,就交换他们两个.依次比较每一对相邻的元素—结果 : 最后的元素是这组数中最大的重复上述步骤 , 除了最后一个[]因为最后一个已经是排好序的了(这组数中最大的那个)]持续对越来越少的元素进行如上…冒泡排序 时间复杂度为 O(n^2) 原理 比较相邻的元素. 如果第一个比第二个大,就交换他们两个.依次比较每一对相邻的元素—结果 : 最后的元素是这组数中最大的重复上述步骤 , 除了最后一个[]因为最后一个已经是排好序的了(这组数中最大的那个)]持续对越来越少的元素进行如上步骤 , 直到没有任何一对数字需要比较 核心代码 public static void bubbleSort(int[] arr) {for(int i0;iarr.length-1;i) {for(int j0;jarr.length-i-1;j) { //每次都少排最后一个if(arr[j]arr[j1]) { //把大的往后放int t arr[j];arr[j] arr[j1];arr[j1] t;}}}}快速排序 归并排序和快速排序都是基于“分而治之”的算法思想 public static int[] qSort(int arr[],int start,int end){int pivot arr[start]; //一般定义arr数组的首元素为key值int i start; int j end;while(ij){//从左往右找,直到找到一个大于等于key值的while(ij arr[i]pivot){i; } //从右往左找直到找到一个小于等于key值的while(ij arr[j]pivot){j—-; } if(ij arr[i]arr[j]){ //如果两值相等那么令左侧指针继续向后移i; }else{ //如果两值不同就交换两值int t arr[i];arr[i] arr[j];arr[j] t; }}if(i-1start) arrqSort(arr,start,i-1); //递归将小于key值的那些排序。并将这部分排完序的数组原数组的一部分赋值给原数组if(j1end) arrqSort(arr,j1,end); //递归将大于key值的那些排序。同上return arr; }归并排序 时间复杂度 O(nlogn)速度仅次于快速排序 归并 就是先将带排序的数组不断拆分指导拆分到只剩一个元素的时候这时我们再把他们合并为两个有序的数组得到长度更长的有序数组。然后按照这样的思路一层一层的合并直到整个数组有序。怎么合并 要借助一个和原数组等长的新数组这也是个典型的 以空间换时间的 做法 // import java.util.Arrays;public class Main{public static void main(String[] args){int[] arr {1,4,3,7,14,6,10};// System.out.println(Arrays.toString(arr));sortArray(arr);for(int i0;iarr.length;i){System.out.print(arr[i] );}}//归并排序的入口public static int[] sortArray(int[] arr){//定义一个辅助数组tempint[] temp new int[arr.length];//进行归并排序mergeSort(arr,0,arr.length-1,temp);//返回排好序的原数组return arr;}//归并排序//实现归并的分public static void mergeSort(int[] arr,int left,int right,int[] temp){//如果只有一个元素就不需要继续划分只有一个元素的区间本来就是有序的// if(left right) return;//当left right 说明该区间是由一组数组成需要继续划分if(left right){int mid (leftright)/2; //这段区间的中值用来划分左右区域mergeSort(arr, left, mid, temp); //递归划分左半区mergeSort(arr, mid1, right, temp); //递归划分右半区//合并已经排序的部分左半区和右半区从只有一个元素的区间开始merge(arr,left,mid,right,temp);}} //实现归并的合 //arr是原数组left是左半区的起始位置mid是左半区的结束位置right是右半区的结束位置temp是辅助数组public static void merge(int[] arr,int left,int mid,int right,int[] temp){int i left; //左半区的起始位置int j mid1; //右半区的起始位置int k left; //辅助数组的位置索引//合并//在左半区的位置索引范围内和右半区的位置索引范围内比较左右半区对应索引位置得的数值的大小小的先放入temp数组中while(imid jright){//用三元运算符 更简洁 和下面的if else语句一个意思temp[k] arr[i] arr[j] ? arr[i] : arr[j];/*if(arr[i]arr[j]) //左半区剩余第一个元素更小temp[k] arr[i]; //意思是先让temp[h] arr[i]再让kielse //右半区剩余第一个元素更小temp[k] arr[j];*/}//合并剩余元素当其中一个半区的位置索引结束时另一个半区可能还有剩余有序的元素--》直接合并到temp数组中即可//合并左半区剩余元素while(i mid)temp[k] arr[i];while(j right)temp[k] arr[j];//temp数组 复制回 arr数组// for(int q0;qtemp.length;q){// arr[q] temp[q];// }while(left right){arr[left] temp[left];left;}} }
http://www.ho-use.cn/article/10822611.html

相关文章:

  • 域名换了网站需要备案么wordpress给用户推送消息
  • 怎样做服装网站如何在阿里云自主建网站
  • 班级网站空间建设取得效果wordpress伪静态配置不了
  • 龙江网站设计制作梅州建站联系方式
  • 营销型网站建设实训总结电影爱好网
  • 网站制作多少钱一年营销型网站建站系统
  • 深喉咙企业网站网站开发 浏览器兼容性
  • 自己怎么制作app软件株洲seo优化高手
  • 网站怎么做七牛云加速国产化网站建设
  • 网站制作排行榜企业邮箱官方网站
  • 阿里网站导航怎么做的互联网保险现状
  • 网站安全风险评估报告阿里wordpress怎么安装教程
  • 宁波企业自助建站系统优化网站软文
  • 国际网页浏览器重庆seo优化推广
  • html5网站建设平台机关网站机制建设情况
  • 备案主体负责人和网站负责人wordpress 返回顶部 插件
  • 网站系统开发怎么做合肥全员核酸检测
  • 工行网站如何做理财风险评估山东平台网站建设多少钱
  • 营销型网站建设步骤网站建设推广行业
  • 成都网站优化个体工商网上年检
  • 山西营销型网站建设商标设计软件免费版
  • 吉林市做网站哪家好专门查大学的网站
  • 石家庄城乡建设部网站首页网站建设 徐州
  • 做静态网站工资多少网站建设好弄不好弄
  • 南宁做网站开发的公司有哪些网站建设seo虾哥网络
  • 只做原创内容平台网站给别人建网站工作行吗
  • php 手机网站cms淘宝联盟网站推广怎么做
  • 新手做淘宝哪个网站比较好东莞营销型网站外包
  • 怎样做网站轮播活动推广宣传方案
  • 直接修改网页源码并执行昆明seo优化