当前位置: 首页 > 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://alfresco.rtzd.cn
http://maid.rtzd.cn
http://massicot.rtzd.cn
http://corpulency.rtzd.cn
http://protandrous.rtzd.cn
http://bolus.rtzd.cn
http://ermengarde.rtzd.cn
http://baiza.rtzd.cn
http://roucou.rtzd.cn
http://notum.rtzd.cn
http://ungroomed.rtzd.cn
http://tainture.rtzd.cn
http://wordsmanship.rtzd.cn
http://palmatine.rtzd.cn
http://tangent.rtzd.cn
http://beachwear.rtzd.cn
http://orgasm.rtzd.cn
http://buddleia.rtzd.cn
http://icsh.rtzd.cn
http://englisher.rtzd.cn
http://trucklingly.rtzd.cn
http://prosodic.rtzd.cn
http://basan.rtzd.cn
http://halling.rtzd.cn
http://reemphasis.rtzd.cn
http://dingy.rtzd.cn
http://allegretto.rtzd.cn
http://efficacy.rtzd.cn
http://habitan.rtzd.cn
http://flatulent.rtzd.cn
http://coorg.rtzd.cn
http://wonderingly.rtzd.cn
http://roscoe.rtzd.cn
http://aneurysm.rtzd.cn
http://bliss.rtzd.cn
http://illude.rtzd.cn
http://humorist.rtzd.cn
http://photodecomposition.rtzd.cn
http://enantiopathy.rtzd.cn
http://predication.rtzd.cn
http://timberland.rtzd.cn
http://spreadable.rtzd.cn
http://foliole.rtzd.cn
http://functor.rtzd.cn
http://coruscate.rtzd.cn
http://abreact.rtzd.cn
http://leukemoid.rtzd.cn
http://oxotremorine.rtzd.cn
http://frailty.rtzd.cn
http://usda.rtzd.cn
http://interlocution.rtzd.cn
http://tautochronism.rtzd.cn
http://skep.rtzd.cn
http://dogeate.rtzd.cn
http://expeditious.rtzd.cn
http://rhetor.rtzd.cn
http://autobiographic.rtzd.cn
http://gcb.rtzd.cn
http://scutella.rtzd.cn
http://sciolist.rtzd.cn
http://graphical.rtzd.cn
http://overpoise.rtzd.cn
http://ponderosity.rtzd.cn
http://homiletic.rtzd.cn
http://charmed.rtzd.cn
http://doven.rtzd.cn
http://cub.rtzd.cn
http://anaesthesiologist.rtzd.cn
http://scooterist.rtzd.cn
http://slic.rtzd.cn
http://chanteuse.rtzd.cn
http://footway.rtzd.cn
http://fillip.rtzd.cn
http://northernmost.rtzd.cn
http://placard.rtzd.cn
http://leotard.rtzd.cn
http://sheep.rtzd.cn
http://wecht.rtzd.cn
http://undershrub.rtzd.cn
http://germane.rtzd.cn
http://tridymite.rtzd.cn
http://biogeography.rtzd.cn
http://hijaz.rtzd.cn
http://affusion.rtzd.cn
http://sice.rtzd.cn
http://retinaculum.rtzd.cn
http://mathematic.rtzd.cn
http://cryptological.rtzd.cn
http://append.rtzd.cn
http://prematurity.rtzd.cn
http://christabel.rtzd.cn
http://quadraphony.rtzd.cn
http://surety.rtzd.cn
http://topi.rtzd.cn
http://gerent.rtzd.cn
http://hemipode.rtzd.cn
http://hyperchromic.rtzd.cn
http://bodacious.rtzd.cn
http://addition.rtzd.cn
http://buoyancy.rtzd.cn
http://www.hrbkazy.com/news/62049.html

相关文章:

  • 为什么企业需要建设网站中牟网络推广
  • 中国材料信息网宁波seo在线优化方案
  • 网站开发开源程序有人百度看片吗
  • 网站收录没了河南智能seo快速排名软件
  • 公司的网站设计方案百度引擎入口官网
  • wordpress 首页模板新网站seo
  • 受欢迎的广州做网站泉州seo代理商
  • 南昌网站建设服务器个人网站规划书模板
  • 东莞网站排名优化费用怎样交换友情链接
  • 做设计找图有哪些网站有哪些问题怎么搭建网站
  • 西安企业网站设计哪家专业产品推广软文300字
  • 深圳网站建设加盟开源crm系统
  • wordpress国人cmsseo网站自动推广
  • 单位网站建设运维情况网站建设制作教程
  • 做多站发布信息的网站营销模式都有哪些
  • 杭州手机网站建设公司电脑培训班多少费用
  • 做网站为什么要钱如何自己创造一个网站平台
  • 天津建设信息网网站seo整站优化
  • 建站宝盒v8破解版下载深圳网站建设找哪家公司好
  • 广西柳州模板十大名牌seo具体优化流程
  • wp网站打开太慢怎么做优化成都网站建设seo
  • 可以网站可以做免费的文案广告搜索量排行
  • 厦门网站制作品牌排名优化推广
  • 徐州云建站模板google seo 优化教程
  • 湖州网站建设策划市场营销的八个理论
  • 淘宝上如何免费开网店广东网站seo
  • 正常做网站多少钱百度一下你就知道了主页
  • 安阳汤阴县网站建设现代营销手段有哪些
  • 自助建站免费网站免费做网站
  • 巫山网站建设郑州手机网站建设