排序算法之java语言实现

零、说在前面       

        近期打算复习java的几种排序算法,我会将这些排序算法的实现代码、个人心得、时间复杂度分析,算法间的对比做成一个系列帖子,这里作为那些帖子的汇总而存在。

        这个系列的框架会包含:概念、实现、时间空间复杂度、横向对比优缺点  这几个部分。

        详情请见下面的各个链接。

一、详情链接

        排序算法系列一:选择排序、插入排序 与 希尔排序

        排序算法系列二:归并排序、快速排序

二、时间复杂度

        我发现网上有些算法的时间复杂度与我的理解有出入,因此我自己画了一个,如有不实之处烦请诸位留言指正,不胜感激。

算法名最好情况最坏情况平均复杂度空间复杂度
选择排序

O(N^{2})

O(N^{2})O(N^{2})O(1)
插入排序O(N)

O(N^{2})

O(N^{2})

O(1)
希尔排序O(N log N)O(N log N)O(N log N)O(1)
归并排序O(N log N)O(N log N)O(N log N)O(N)
快速排序O(N log N)

O(N^{2})

O(N log N)O(1)

        出入点:

        1、有人认为快速排序的空间复杂度是 O(N log N),我认为这种算法没有开辟临时空间,因此是O(1)

        2、有人觉得希尔排序的最好与最坏的时间复杂度是  O(n*log^2 n),我不知道是不是笔误还是什么,但我认为是 O(N log N)。理由可以见我在在系列一中的描述,或者自己用1~8和8~1来测试一下执行次数,就能理解了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/747832.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

50、基于NARX神经网络的磁悬浮建模(matlab)

1、NARX神经网络简介 NARX(非线性自回归外部输入)神经网络是一种用于非线性建模和预测的神经网络结构。与传统的自回归模型不同,NARX网络可以接收外部输入来影响输出结果,从而更好地捕捉系统的复杂性和非线性特征。 NARX神经网络…

为什么计算机中的无线网络被称为“Wi-Fi”?

在当今信息化社会中,无线网络已经成为我们生活中不可或缺的一部分。无论是家庭、办公室还是公共场所,我们都能享受到便捷的无线互联网连接。而当我们谈及无线网络时,一个经常听到的术语就是“Wi-Fi”。那么,为什么计算机中的无线网…

植物大战僵尸杂交版v2.1最新整合版,附PC端+安卓端+iOS端安装包+修改器+安装教程!

嘿,大家好,我是阿星,今天要跟大家聊聊一款游戏,它不是那种让人眼花缭乱的大制作,也不是那种能让人回味无穷的艺术作品,但它在阿星心里,绝对是神作中的佼佼者。没错,它就是《植物大战…

【windows】win11系统跳过联网和微软账户登录,实现本地账户登录

问题原因:现在市面上销售的品牌笔记本和台式机基本上都预装了正版的Windows S11家族中文版操作系统,联网后系统会自动激活。在win11的版本中,隐藏了关闭跳过连接网络的按钮,默认强制需要注册微软账户登录才能正常使用。 一、跳过…

动态规划——123. 买卖股票的最佳时机 III

目录 1、题目链接 2、题目分析 1.状态表示 2.状态转移方程 3.初始化 4.填表 5.返回值 3、代码解析 1、题目链接 123. 买卖股票的最佳时机 III 2、题目分析 1.状态表示 由题目可知,我们分为两种状态,买入和卖出,又因为只能完成两次交易…

MAC 查看公钥私钥

电脑配置过公钥私钥,现在需要查看: 1、 查看本地是否存在SSH密钥 命令:ls -al ~/.ssh 如果在输出的文件列表中发现id_rsa和id_rsa.pub的存在,证明本地已经存在SSH密钥,请执行第3步 2、 生成SSH密钥 命令&#xff1…

我的3次软考高项通关之旅

1、缘起 初次听说软考是在2022年下半年了,软考的高级分为很多种,我起先想报考高级架构师,但是架构师一年才考一次,如果一次考不过得再准备一年,时间对我来说太长了,于是我决定报考一年考两次的高项。对于国…

【Unity】RPG2D龙城纷争(六)关卡编辑器之角色编辑

更新日期:2024年6月26日。 项目源码:第五章发布(正式开始游戏逻辑的章节) 索引 简介一、角色编辑模式1.将字段限制为只读2.创建角色(刷角色)3.预览所有角色4.编辑选中角色属性5.移动角色位置6.移除角色 简介…

Linux OpenGrok搭建

文章目录 一、目的二、环境三、相关概念3.1 OpenGrok3.2 CTags3.3 Tomcat 四、OpenGrok搭建4.1 安装jdk4.2 安装ctags依赖4.3 安装universal-ctags4.3.1 下载universal-ctags4.3.2 编译&&安装universal-ctags 4.4 安装Tomcat4.4.1 下载&&解压Tomcat4.4.2 启动T…

HQChart使用教程30-K线图如何对接第3方数据41-分钟K线叠加股票增量更新

HQChart使用教程30-K线图如何对接第3方数据40-日K叠加股票增量更新 叠加股票叠加分钟K线更新Request 字段说明Data.symbol 协议截图返回json数据结构overlaydata HQChart代码地址交流 叠加股票 示例地址:https://jones2000.github.io/HQChart/webhqchart.demo/samples/kline_i…

泰迪智能科技大数据挖掘企业服务平台典型合作案例介绍

泰迪大数据挖掘企业服务平台 是一款通用的、企业级、智能化的数据分析模型构建与数据应用场景设计工具,能够一体化地完成数据集成、模型构建、模型发布,为数据分析、探索、服务流程提供支撑,提供完整的数据探索、多数据源接入、特征处理、模型…

软硬链接 以及 动静态链接

目录 1 软硬链接 2 动静态库 1 软硬链接 不知道大家也没有仔细看过我们的 windows 中的快捷方式的内容,我们右键点开一个快捷方式然后查看其属性,我们发现有一个 目标 的内容 这个目标是一串路径,这也就是我们的程序的安装路径中的一个.exe…

浅浅谈谈如何利用Javase+多线程+计算机网络的知识做一个爬CSDN阅读量总访问量的程序

目录 我们发现csdn的文章 首先为了印证我们的想法 我们用postman往csdn我们任意一篇文章发起post请求 发送请求 ​编辑获得响应结果 我们发现我们的阅读量上涨 PostRequestSender类 但是我们经过测试发现 定义一个字符串数组 把URL放进去 然后延迟启动 在线程池里面…

redis哨兵模式(Redis Sentinel)

哨兵模式的背景 当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式。 为了解决单点故障和提高系统的可用性,需要一种自动化的监…

司美格鲁肽在中国获批!深度解析报告附上

在中国,肥胖问题日益严重,但有效的治疗方法却相对匮乏。然而,这一现状随着国家药品监督管理局(NMPA)对诺和诺德公司研发的司美格鲁肽注射液(商品名:诺和盈)的批准而得到改变。6月25日…

JavaEE之HTTP协议(1)_HTTP基础知识,HTTP 请求、响应格式,方法,状态码

一、HTTP协议 1.1 基本概念: HTTP全称超文本传输协议,是一种无状态的、应用层的协议,它基于请求/响应模型。客户端(通常是Web浏览器)通过发送HTTP请求到服务器来获取或发送信息,服务器则返回HTTP响应作为回应。HTTP协…

【设计模式】行为型-策略模式

策略模式,如春风吹过,随心所欲,变幻无穷,每一丝风都是一种选择。 文章目录 一、订单处理二、策略模式三、策略模式的核心组成四、运用策略模式五、策略模式的应用场景六、小结推荐阅读 一、订单处理 场景假设:有一个…

使用CDN方式创建Vue3.0应用程序

CDN 的全称是 content delivery network,即内容分发网络。它是构建在现在的互联网基础之上的一层智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发和调度等功能模块,使用户就近获取所需内容&#xff0c…

2023 年度国家科学技术奖励公布

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

引用别的组件

在脚本中,也可以引用别的物体下的组件。 第一种办法, (1)添加一个变量, public GameObject bgmNode ; 然后在检查器里指定这个引用。 例如:在背景音乐空物体下面有个Audio Source组件 游戏主控脚本代码…