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

福建省公司注册网上核名淄博网站制作定制优化

福建省公司注册网上核名,淄博网站制作定制优化,深圳建网站哪个公司好,自助wap建站说明:以下排序如无特别说明,都是从小到大升序排序 1. 冒泡排序 核心思想:每个元素与其相邻元素比较,如果前者大于后者则交换,每次循环结束后会将最大值放到最后,像小水泡从底下冒到上面成大水泡一样&…

说明:以下排序如无特别说明,都是从小到大升序排序

1. 冒泡排序

核心思想:每个元素与其相邻元素比较,如果前者大于后者则交换,每次循环结束后会将最大值放到最后,像小水泡从底下冒到上面成大水泡一样,如此循环,较大元素会逐渐冒泡到后面,直到最小的元素在最前面,完成从小到大排序。

public static void bubbleSort(int[] arr) {for (int i = 0; i < arr.length; i++) {// 注意由于是与下一个元素比较,故这里必须是 j < arr.length-i-1for (int j = 0; j < arr.length - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j + 1];arr[j + 1] = arr[j];arr[j] = temp;}}}
}

时间复杂度 O(n^2);空间复杂度O(1);不稳定排序;原地排序

优化:

public static void bubbleSort(int[] arr) {for (int i = 0; i < arr.length; i++) {// 增加一个是否需要继续的标志boolean flag = false;for (int j = 0; j < arr.length - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j + 1];arr[j + 1] = arr[j];arr[j] = temp;flag = true;}}// 比较一轮后发现所有元素都无需交换,即认为本来是有序的if (!flag) {break;}}
}

2. 选择排序

核心思想:对长度为 n 的数组,循环 n-1 次,每次循环将当前元素与后面的元素比较找出最小元素并交换。
常规思路一:比较时交换

public static void selectSort1(int[] arr) {for (int i = 0; i < arr.length - 1; i++) {int minIndex;for (int j = i + 1; j < arr.length; j++) {// 如果比当前元素小,就交换if (arr[j] < arr[i]) {minIndex = j;int temp = arr[i];arr[i] = arr[minIndex];arr[minIndex] = temp;}}}
}

优化思路二:比较完成后再交换

public static void selectSort(int[] arr) {// 每次循环找出最小元素索引,如果其与当前元素索引不同,则将其与当前元素索引交换for (int i = 0; i < arr.length - 1; i++) {int minIndex = i;for (int j = i + 1; j < arr.length; j++) {if (arr[j] < arr[minIndex]) {minIndex = j;}}if (minIndex != i) {int temp = arr[i];arr[i] = arr[minIndex];arr[minIndex] = temp;}}
}

时间复杂度 O(n^2);空间复杂度O(1);不稳定排序;原地排序

3. 插入排序

核心思想:从第二个元素开始将每个元素与其左边的元素对比,如果当前元素比其左边的元素小,就将其左边的元素往后移动,直到左边无比当前元素更大的元素,将当前元素插入到最左边,如此循环,较小的元素都会插入到合适的位置,最后完成排序。
在这里插入图片描述

public static void insertSort(int[] arr) {for (int i = 1; i < arr.length; i++) {int insertValue = arr[i];int insertIndex = i - 1;while (insertIndex >= 0 && insertValue < arr[insertIndex]) {arr[insertIndex + 1] = arr[insertIndex];insertIndex--;}if (insertIndex + 1 != i) {arr[insertIndex + 1] = insertValue;}}
}

参考

[1] 十大基础算法

http://www.yayakq.cn/news/717218/

相关文章:

  • 个人网站怎么做有创意用织梦做的网站
  • 广州购物网站建设价格标准型网站---北京网站建设
  • 南京 网站开发什么待遇啊晟阳建设官方网站
  • 公司网站建设外包流程图用ps怎么做网站
  • 建站宝盒手机版下载常德网站建设培训机构
  • 用jsp sqlserver做的购物网站南通高端网站
  • 适合0基础网站开发软件泰安可信赖的企业建站公司
  • 网站页面头部设计说明宜兴市网站建设
  • 网站推广策划方案大数据精准获客网站后台版权
  • 网站建设的研发支出费用化最正规二手手表平台
  • 网站建设搜狐帝国cms如何做微网站
  • 网站制作如皋云虚拟主机可以做多少个网站
  • 智能网站建设哪家效果好如何加强企业网站建设 论文6
  • 做网站页面的软件深入浅出wordpress
  • 广东建的电商网站叫啥微信服务商平台官网
  • 怎么做企业网站仿站唐山市住建局官方网站
  • 厦门营销型网站建设wp做购物网站
  • 西维科技做网站怎么样四大门户网站排名
  • 现在淘客做网站还行吗gta买办公室网站建设中
  • 网站发展规划如何设计一个好网站
  • 提升网站安全珠海舒讯网站建设
  • 网站开发的技术手段有哪些wordpress 房产中介
  • 最好的自助建站系统郏县网站制作哪家公司好
  • 宁夏做网站找谁石家庄网站托管
  • 防蚊手环移动网站建设哪个网站建设商招代理
  • 天津市做网站的公司有哪些网站建设季度考核评价工作总结
  • 学校信息门户网站建设微信小程序界面设计模板
  • 旅游网站建设目的icp许可证对网站的要求
  • 怎么在阿里云建立网站网页小游戏平台
  • 关键词挖掘机爱站网网页设计与网站建设论述题