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

登录网站怎么做北京出名的室内设计公司

登录网站怎么做,北京出名的室内设计公司,洛阳制作网站公司吗,adsl做网站1. 插入排序(insertion-sort): 是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入 算法稳定性: 对于两个相同的数,经过…

1. 插入排序(insertion-sort):

                                          是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入

    算法稳定性:

                        对于两个相同的数,经过排序后,他们依旧保持之前的顺序,二者次序没有发生变化。插入排序是算法稳定的

   时间复杂度

        最优情况

                      在插入排序中,当待排序数组是有序时,是最优的情况,只需当前数跟前一个数比较一下就可以了,这时一共需要比较N- 1次,时间复杂度为O(n)

        最坏情况

                          最坏的情况是待排序数组是逆序的,此时需要比较次数最多,总次数记为:1+2+3+…+N-1,所以,插入排序最坏情况下的时间复杂度为O(n_{}^{2}

     动态图

  递归代码:

package com.nami.algorithm.study.day06;import java.util.Arrays;/*** beyond u self and trust u self.** @Author: lbc* @Date: 2023-09-05 15:36* @email: 594599620@qq.com* @Description: keep coding*/
public class InsertionSort {/*** 插入排序:* 从右向左找** @param target*/public static void sort(int[] target) {insertion(target, 1);}/*** 递归 缩小结果集** @param target* @param lowIndex*/private static void insertion(int[] target, int lowIndex) {if (lowIndex == target.length) {return;}int t = target[lowIndex];// 已排序区域指针int i = lowIndex - 1;// 没有找到插入位置while (i >= 0 && target[i] > t) {target[i + 1] = target[i];i--;// 如果到达数组0时候 依旧没有找到,则退出循环// 抽出,合并到while内
//            if(i < 0) {
//                break;
//            }}//插入位置找到了// 优化减少不必要的赋值动作,// 需要替换的数组值,正好是大于i, i+1索引的值不需要动,这个赋值动作就不必要了if (i + 1 != lowIndex) {target[i + 1] = t;}insertion(target, lowIndex + 1);}/*** 两种写法,这种赋值次数更多* 时间复杂度相同* 但是 效率没有上面的高,消耗在更多的赋值操作上了** @param target* @param lowIndex*/private static void insertion0(int[] target, int lowIndex) {if (lowIndex == target.length) {return;}// 已排序区域指针int i = lowIndex - 1;// 没有找到插入位置while (i >= 0 && target[i] > target[i + 1]) {int temp = target[i];target[i] = target[i + 1];target[i + 1] = temp;i--;}insertion(target, lowIndex + 1);}public static void main(String[] args) {int[] test = new int[]{1, 54, 234, 675, 32432, 23, 78, 459, 354, 9, 344, 22, 46, 85, 236, 3278, 245, 83, 154, 2, 1, 34, 73, 23};int[] test2 = new int[]{2, 4, 7, 3, 2, 1};
//        sort(test, test.length);sort(test);System.out.println(Arrays.toString(test));}}

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

相关文章:

  • 做seo网站推广价格智能开发平台软件
  • 门网站制作汽车网站制作模板
  • 做钢丝绳外贸的网站wordpress支持md么
  • 简述网站开发的5个步骤清溪网站仿做
  • 电商直播平台网站开发免费seo推广计划
  • seo证书考试网站建筑贴图素材网站
  • 哈尔滨城乡建设厅网站app store下载官方
  • 火速网站建设工商局公司注册网上核名
  • 知名的集团门户网站建设费用百度推广会帮你做网站不
  • 重庆响应式网站seo短视频网页入口引流网站推荐
  • 网站建设的具体流程零基础搭建网站
  • 网站被挂黑链哪些网站可以做招生信息
  • 南宁做企业网站建设安全备案登入那个网站
  • 石家庄企业网站建设网站开发的作用
  • 网站建设规划书摘要500字企业做网站排名
  • 网站标题栏怎么修改上海网站建设网页
  • 做照片书的模板下载网站网页生成器手机版
  • 摄影网站排行榜前十名门户网站开发要多少钱
  • 搞一个网站花多少钱增加网站广告位
  • 常德网站建设求职简历图列表网站源码
  • 网站开发要考什么证西安有什么网页设计公司
  • 百容千域可以免费做网站吗公众号开发者id在哪里查看
  • 国外那些网站是做菠菜的做网站接单
  • 深圳外贸英文网站设计联系电话浙江省住房和城乡建设局网站
  • 怎么做火短视频网站简单网页设计模板源代码
  • 枞阳县建设局网站广州网站建设联享科技
  • 网站后台 英语宁夏做网站
  • 评价一个网站的好坏it软件外包
  • 大型网站服务器得多少钱网站建设需求调研通知
  • 装修公司网站模版网站建设广告