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

专做民宿预定的网站百度客户端登录

专做民宿预定的网站,百度客户端登录,有单独做网站维护的必要吗,贵金属企业网站源码排序算法 文章目录 冒泡排序算法步骤动图代码优化总结 选择排序算法步骤动图代码总结 插入排序算法步骤动图代码总结 排序算法,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。一般默认排序是按照由小到大即…

排序算法

文章目录

  • 冒泡排序
    • 算法步骤
    • 动图
    • 代码
    • 优化
    • 总结
  • 选择排序
    • 算法步骤
    • 动图
    • 代码
    • 总结
  • 插入排序
    • 算法步骤
    • 动图
    • 代码
    • 总结

排序算法,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。一般默认排序是按照由小到大即升序排列。

冒泡排序

冒泡排序(Bubble Sort)简单的基于比较的排序算法。每次比较相邻两个元素,如果他们的顺序错误就把他们交换过来。由于较大的数据会不断地向上”冒“,所以以冒泡排序命名。

算法步骤

  • 从头开始,比较相邻元素,如果顺序不对,就交换。
  • 每次选出一个局部最大值
  • 走过n - 1 趟后,数组就有序了

动图

请添加图片描述

代码

public class P02_BubbleSort {public static void bubbleSort(int[] arr) {if(arr == null || arr.length < 2) {return;}for(int i = 0;i < arr.length - 1;i++) {for(int j = 0;j < arr.length - 1 - i;j++) {if(arr[j] > arr[j + 1]) {swap(arr,j,j + 1);}}}}public static void swap(int[] arr,int i,int j) {int t = arr[i];arr[i] = arr[j];arr[j] = t;}public static void main(String[] args) {int[] arr = {9,8,7,6,5,4,3,2,1};bubbleSort(arr);System.out.println(Arrays.toString(arr));}
}

优化

 public static void bubbleSort(int[] arr) {if(arr == null || arr.length < 2) {return;}for(int i = 0;i < arr.length - 1;i++) {boolean success = false; for(int j = 0;j < arr.length - 1 - i;j++) {if(arr[j] > arr[j + 1]) {swap(arr,j,j + 1);success = true;}}if(success == false) {break;// 已经有序}}
}

总结

冒泡排序的时间复杂度 O ( N ) O(N) O(N),空间复杂度 O ( 1 ) O(1) O(1),冒泡排序是一种性能比较差的排序,如果不优化,那么无论是何种数据状况,都要经理 N 2 N^2 N2次比较。冒泡排序大量浪费比较行为,每趟比较只会选择出一个最大值,所以性能较差。

选择排序

选择排序是一种简单直观的基于比较的排序算法,性能不受数据状况的左右,就算是已经有序的数据,也是 O ( N 2 ) O(N^2) O(N2)的时间复杂度。

算法步骤

在这里插入图片描述
(不用交换的没有画出)

  • 0 ~ n - 1 范围 找到最小值 交换到 0 位置
  • 1 ~ n - 1 范围 找到最小值 交换到 1 位置
  • 2 ~ n - 1 范围 找到最小值 交换到 2 位置
  • … …
  • n - 2 ~ n - 1 范围找到较小值 交换到 n - 2 位置
  • 排序完成

动图

请添加图片描述

代码

package package01;import java.util.Arrays;public class P01_SelectSort {public static void selectSort(int[] arr) {if (arr == null || arr.length < 2) {return;}for (int i = 0; i < arr.length; i++) {int minIndex = i;for (int j = i + 1; j < arr.length; j++) {minIndex = arr[minIndex] < arr[j] ? minIndex : j;}swap(arr, minIndex, i);}}public static void swap(int[] arr, int i, int j) {int t = arr[i];arr[i] = arr[j];arr[j] = t;}public static void main(String[] args) {int[] arr = {9,8,7,6,5,4,3,2,1};selectSort(arr);System.out.println(Arrays.toString(arr));}
}

总结

选择排序也是一种性能较差的排序算法,性能不受数据状况左右,大量浪费比较行为。

插入排序

在这里插入图片描述

插入排序就像打扑克时拿牌一样,一张一张将扑克牌放到对应的位置,也是一个基于比较的排序。只是插入排序受数据状况影响,当数据状况趋于有序时,插入排序的速度会非常快,趋于 O ( N ) O(N) O(N),但是时间复杂度是最坏情况,所以插入排序的时间复杂度是 O ( N 2 ) O(N^2) O(N2).

算法步骤

在这里插入图片描述
就如上述数据,我们要将这组数字从小到大进行排列。从左往右依次考虑每个数字,让这个数字左边局部有序,考虑完整个数据就有序了。

  • 考虑前 1 1 1 个数 已经有序
  • 考虑前 2 2 2 个数,如果前面的数据大于当前数则交换,做到局部有序
  • 考虑前 3 3 3 个数,如果前面的数据大于当前数则交换,做到局部有序
  • … …
  • 考虑前 n − 1 n - 1 n1 个数,如果前面的数据大于当前数则交换,做到局部有序
  • 完成排序

动图

请添加图片描述

代码

package package01;import java.util.Arrays;public class P03_InsertSort {public static void insertSort(int[] arr) {if(arr == null || arr.length < 2) {return;}for(int i = 1;i < arr.length;i++) {for(int j = i - 1;j >= 0 && arr[j] > arr[j + 1];j--) {swap(arr,j,j+1);}}}public static void swap(int[] arr,int i,int j) {int t = arr[i];arr[i] = arr[j];arr[j] = t;}public static void main(String[] args) {int[] arr = {0,9,8,7,6,5,4,3,2,1};insertSort(arr);System.out.println(Arrays.toString(arr));}
}

总结

插入排序的常数时间要优于选择排序和插入排序,但是其时间复杂度仍然是 O ( N 2 ) O(N^2) ON2

如果本篇文章对你有帮助,请点赞、评论、转发,你的支持是我创作的动力。


文章转载自:
http://rooseveltiana.jpkk.cn
http://opportunity.jpkk.cn
http://compliably.jpkk.cn
http://rvsvp.jpkk.cn
http://pretension.jpkk.cn
http://booby.jpkk.cn
http://vires.jpkk.cn
http://grovel.jpkk.cn
http://inactively.jpkk.cn
http://inaptness.jpkk.cn
http://ngaio.jpkk.cn
http://preengagement.jpkk.cn
http://devise.jpkk.cn
http://umbellar.jpkk.cn
http://matchmaker.jpkk.cn
http://onus.jpkk.cn
http://occupational.jpkk.cn
http://piddle.jpkk.cn
http://eris.jpkk.cn
http://undecorated.jpkk.cn
http://jawed.jpkk.cn
http://hyperacusis.jpkk.cn
http://precision.jpkk.cn
http://sorosilicate.jpkk.cn
http://laterad.jpkk.cn
http://hallowed.jpkk.cn
http://chastening.jpkk.cn
http://salvarsan.jpkk.cn
http://chalan.jpkk.cn
http://diathesis.jpkk.cn
http://jess.jpkk.cn
http://springhaas.jpkk.cn
http://sleugh.jpkk.cn
http://glottis.jpkk.cn
http://servings.jpkk.cn
http://lowness.jpkk.cn
http://infundibula.jpkk.cn
http://eriometer.jpkk.cn
http://crownland.jpkk.cn
http://aponeurosis.jpkk.cn
http://march.jpkk.cn
http://dodecaphonist.jpkk.cn
http://syllabub.jpkk.cn
http://galleta.jpkk.cn
http://sermonic.jpkk.cn
http://missaid.jpkk.cn
http://agrogorod.jpkk.cn
http://tech.jpkk.cn
http://sewer.jpkk.cn
http://radiosterilize.jpkk.cn
http://anhwei.jpkk.cn
http://duricrust.jpkk.cn
http://bedevilment.jpkk.cn
http://overroast.jpkk.cn
http://polymorphous.jpkk.cn
http://udaller.jpkk.cn
http://spicy.jpkk.cn
http://elaterin.jpkk.cn
http://revolting.jpkk.cn
http://morbilliform.jpkk.cn
http://disannul.jpkk.cn
http://nola.jpkk.cn
http://boulangerite.jpkk.cn
http://chromatype.jpkk.cn
http://cure.jpkk.cn
http://citable.jpkk.cn
http://ignitor.jpkk.cn
http://seminarist.jpkk.cn
http://neocolonialist.jpkk.cn
http://stripe.jpkk.cn
http://transparentize.jpkk.cn
http://urger.jpkk.cn
http://offertory.jpkk.cn
http://mythicise.jpkk.cn
http://squamose.jpkk.cn
http://purpura.jpkk.cn
http://homekeeping.jpkk.cn
http://statutable.jpkk.cn
http://spermatheca.jpkk.cn
http://radiocarbon.jpkk.cn
http://argentina.jpkk.cn
http://stunted.jpkk.cn
http://pedocal.jpkk.cn
http://minicab.jpkk.cn
http://ophthalmia.jpkk.cn
http://alabastrine.jpkk.cn
http://arthrectomy.jpkk.cn
http://glyconic.jpkk.cn
http://seaward.jpkk.cn
http://passerine.jpkk.cn
http://luciferin.jpkk.cn
http://lalang.jpkk.cn
http://cacoepy.jpkk.cn
http://simulacrum.jpkk.cn
http://bufadienolide.jpkk.cn
http://edgeless.jpkk.cn
http://psittacosis.jpkk.cn
http://nonreturnable.jpkk.cn
http://indigently.jpkk.cn
http://flocculous.jpkk.cn
http://www.dt0577.cn/news/125050.html

相关文章:

  • 做漫画网站空间多大金华百度seo
  • 国内做香港视频网站有哪些青岛网站推广公司
  • 医疗网站的在线聊天怎么做的热点新闻事件
  • 哪里做网站需求百度公司图片
  • 高端t恤定制网站个人网站免费制作平台
  • 个人网站备案需要多久磁力猫引擎
  • 扫二维码进入个人的购物网站如何做小程序开发系统
  • 最个人网站seo入门培训学多久
  • 行业门户网站大全平台宣传推广方案
  • 制作静态网站制作app开发多少钱
  • 家庭带宽100m做网站新产品推广方案策划
  • php网站如何上传数据库长春网站优化
  • 太原市城乡建设局网站山东最新资讯
  • 网站开发资源网seo上海网站推广
  • 网站建设茂名百度登陆页面
  • 中国专利查询系统入口重庆seo排名软件
  • 网站设计太原建站模板平台
  • 做料理网站关键词怎么设置怎么制作一个简单的网页
  • 计算机网络课程设计哪里有seo排名优化
  • 做网站都是用ps吗广州百度网站推广
  • 郑州响应式网站建设中央人民政府
  • 网站建设太难了建网站赚钱
  • 网站浏览构思想在百度做推广怎么做
  • 营销型网站维护费用seo教学视频教程
  • 大连模板网站制作报价整合营销传播的明显特征是
  • 辅导班如何做网站营销策略怎么写范文
  • 网页设计音乐网站希爱力双效片副作用
  • 给期货交易类做网站违法吗深圳搜狗seo
  • 网站建设售后服务内容建站快车
  • 谁家的网站做的比较好百度网站登录