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

购物车功能网站怎么做的网站建设模板公司

购物车功能网站怎么做的,网站建设模板公司,龙岗网站建设联系电话,海南app网站建设目录 1、插入排序 2、流程介绍 3、java实现 4、性能介绍 前言 在 Java 中#xff0c; 冒泡排序#xff08;Bubble Sort#xff09; 和 选择排序#xff08;Selection Sort#xff09; 之后#xff0c;下一个性能更好的排序算法通常是 插入排序#xff08;Insertion …目录 1、插入排序 2、流程介绍 3、java实现 4、性能介绍 前言 在 Java 中 冒泡排序Bubble Sort 和 选择排序Selection Sort 之后下一个性能更好的排序算法通常是 插入排序Insertion Sort。 虽然它们的时间复杂度都是 O(n²)但在实际应用中插入排序通常比选择排序和冒泡排序更快尤其是在处理部分有序数据时表现更优。 总结Java 排序算法进阶路线 O(n²) 算法适合学习原理 冒泡排序最慢→ 选择排序 → 插入排序推荐先学 O(n log n) 算法实际应用 归并排序稳定→ 快速排序最快但不稳定→ 堆排序空间省 Java 内置排序 Arrays.sort()对基本类型用 快速排序对象类型用 归并排序保证稳定性。 1、插入排序 Insertion Sort插入排序是一种简单直观的排序算法适合小规模数据或部分有序数据。 1、核心思想 将数组分为 已排序 和 未排序 两部分逐个将未排序部分的元素插入到已排序部分的正确位置。 2、适合场景 小规模数据或基本有序的数据如日志按时间插入。 3、时间复杂度 最坏情况下为O(N*N)此时待排序列为逆序或者说接近逆序。 最好情况下为O(N)此时待排序列为升序或者说接近升序。 4、空间复杂度O(1)。 2、流程介绍 如下图所示 步骤 1.从第一个元素开始该元素可以认为已经被排序. 2.取下一个元素tem从已排序的元素序列从后往前扫描. 3.如果该元素大于tem则将该元素移到下一位. 4.重复步骤3直到找到已排序元素中小于等于tem的元素. 5.tem插入到该元素的后面如果已排序所有元素都大于tem则将tem插入到下标为0的位置. 6.重复步骤2~5. 3、java实现 代码示例如下 public class InsertionSort {/*** 插入排序升序* param arr 待排序数组*/public static void insertionSort(int[] arr) {if (arr null || arr.length 1) {return; // 边界条件数组为空或长度≤1时无需排序}// 从第二个元素开始下标1默认第一个元素已排序for (int i 1; i arr.length; i) {int current arr[i]; // 当前待插入的元素int j i - 1; // 已排序部分的最后一个元素下标// 从后往前遍历已排序部分寻找插入位置while (j 0 arr[j] current) {arr[j 1] arr[j]; // 比 current 大的元素向后移动j--;}// 插入 current 到正确位置arr[j 1] current;}}public static void main(String[] args) {int[] arr {12, 11, 13, 5, 6};System.out.println(排序前: Arrays.toString(arr));insertionSort(arr);System.out.println(排序后: Arrays.toString(arr));} } 输出 排序前: [12, 11, 13, 5, 6] 排序后: [5, 6, 11, 12, 13] 关键步骤解析 外层循环 从 i 1 开始默认 arr[0] 是已排序部分。 每次迭代处理一个未排序元素 current arr[i]。 内层循环 从 j i - 1 开始反向遍历已排序部分。 如果 arr[j] current则将 arr[j] 向后移动一位。 直到找到 arr[j] ≤ current 的位置此时 j 1 就是 current 的插入位置。 插入操作 将 current 放入 arr[j 1]。 4、性能介绍 ✅ 为什么插入排序比选择排序快 比较次数更少选择排序每一轮都要遍历剩余全部元素找最小值而插入排序在数据基本有序时只需少量比较。 提前终止如果数据已经有序插入排序内层循环会立即终止类似冒泡优化版。 数据局部性插入排序是顺序访问数组对 CPU 缓存更友好。 总结 小数组排序 Java 的 Arrays.sort() 在子数组长度 ≤ 47 时会切换到插入排序。 部分有序数据 如日志按时间插入、游戏排行榜实时更新。 混合排序算法 快速排序的递归基改用插入排序如 QuickSort InsertionSort。 参考文章 1、六大排序算法插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序-CSDN博客https://blog.csdn.net/weixin_50886514/article/details/119045154?ops_request_misc%257B%2522request%255Fid%2522%253A%25220faf03d22b2d125d5f49a4649ad59c85%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257Drequest_id0faf03d22b2d125d5f49a4649ad59c85biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-119045154-null-null.142^v102^controlutm_term%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8Fspm1018.2226.3001.4187
http://www.zqtcl.cn/news/156861/

相关文章:

  • 书籍网站建设规划书app开发公司价格表
  • 小程序网站模板住建个人证书查询网
  • 西安 美院 网站建设贵阳美丽乡村建设网站
  • 平顶山市哪里有做网站的wordpress应用教程
  • 制作企业网站的实训报告医院网站设计模板
  • 要做网站照片怎么处理广东外发加工网
  • 做国际网站每年要多少钱厦门 外贸商城网站
  • 城乡建设学校官方网站程序外包网站
  • 深圳 网站设计师 招聘西数网站管理助手 伪静态
  • 广州网站备案要求国外工装设计网站大全
  • php+mysql 2012也买酒商城网站源码怎么用net123做网站
  • 西充移动网站建设如何设计一个简洁的logo
  • 济宁做网站自媒体新手入门
  • 重庆网站开发哪家专业网站布局图
  • 网站设计原则的历史网站开发 模块
  • 做企业网站收费自己的网站怎么做排名
  • 做网站网站软件开发经费预算
  • 优化网站图片网站图片布局
  • 有效的网站需要做到什么意思商业网站是什么
  • 网站设计开发网站用c 建网站时怎么做导航菜单栏
  • 哪些网站做推广比较有效果厦门网站建设公司名单
  • 街头小吃加盟网站建设网站专题制作
  • 网站论坛推广方案加强思政部网站建设
  • 查看WordPress网站插件北京西站附近的景点有哪些
  • 网站建设技术合同模板下载怎么用phpstudy做网站
  • 青岛网站建设找二维码生成器怎么弄
  • 百度突然搜不到我的网站网络安全软件有哪些
  • 江阴做网站的地方网站维护需要的知识
  • 做网站是域名怎么申请网页设计跟做网站一样吗
  • 叮当快药网站谁做的网站开发遇到的最大困难