排序算法空间、时间复杂度

空间排序                       空间排序(SPATIAL SORTING)    第四章讨论了渲染一个层次化结构的场景,场景中的物体绘制的顺序是由深度优先遍历所决定的,几乎所有的情况下,渲染的场景都以这种方式不正确的绘制着。例如,如果沿眼睛视线的两个不相交的物体要被绘制,那么更远的那个物体将会被首先绘制。在深度遍历中如果在最近的物体后面还有物体,则场景的绘制方式是不正确的。因此,一个场 阅读详情
排序算法空间、时间复杂度
简单排序法——
 
冒泡法是第二维循环中自己循环,找最小或最大值
 
选择排序和交换排序是第二维循环与第一维循环中的值比较;交换法最清晰,选择法作了改进,
只交换位置标号,算法复杂度没变。
 
插入法,它的基本工作原理是抽出牌,在前面的牌中寻找相应的位置插入,然后继续下一张(较为复杂)
 
高级排序法——
 
快速排序,从冒泡法改进得到,基本思想是任选一个记录,一般选取序列第一个,通过一趟排序将待排 记录分割成相邻的两个区域,其中一个区域中记录的关键字比另一个区域关键字都小,即一个区域的值都大于所取的关键字,另一个区域的指都小于所取的关键字, 则可以分别对这两个区域的记录进行排序,以达到整个序列有序。
将它区别于SHELL排序,后者是先有一个递减的步长数组,对相隔step-1的内容排列,然后改变步长,依次
下去。
 
归并排序,先在原记录中找一个中间位置(low+high)/2,对两段分别进行归并排序,最后再整体排序(即分三次)。
注意,快速排序没有最后整体排序,但一开始先排了一次。 
 
堆排序,对选择排序的改进,利用堆的特性对记录序列进行排序。
 
时间复杂度
 
冒泡排序、选择排序和插入排序的比较次数为O(n2),最坏情况 O(n2),最好O(n)
(但选择排序最好是 O(n2))
快速排序在平均情况下复杂性为O(nlogn),最坏情况 O(n2),最好O(nlogn)
堆排序和合并排序在最坏情况下复杂性为O(nlogn)。可见,合并排序和堆排序是比较排序算法中时间复杂度最优算法。
 
空间复杂度
空间性能是排序所需辅助空间大小
 
所有简单排序和堆排序都是0(1)
快速排序为0(logn),要为递归程序执行过程栈所需的辅助空间
归并排序和基数排序所需辅助空间最多,为O(n)
 
 
 
 
 
看个小代码
#include <stdlib.h>
main()
{   int  m,n,p;
//   scanf("m=%dn=%dp=%d",&m,&n,&p);
//   printf("%d%d%d/n",m,n,p);
m=3;
n=m&(-1);
p=m&&(-2);
   printf("%d%d/n",n,p);
}
 
一、
     n=m&(-1);中n恒等m
     p=m&&(-2);中p恒等1;(改称0则p为0)了
     -1的二进制为11;
二、
   屏蔽的两句使用时,应该
输入 m=1n=2p=3
不能 1 2 3
 
从时间、空间角度聊聊排序算法 1、排序算法的介绍 排序也称排序算法(SortAlgorithm),排序是将一组数据,依指定的顺序进行排列的过程。 2、排序的分类 1) 内部排序: 指将需要处理的所有数据都加载到内部存储器中进行排序。 2) 外部排序法: 数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。 3) 常见的排序算法分类(见右图): 3、算法的时间复杂度 度量一个... 阅读详情

相关推荐

数据结构与算法(四) - 十大排序算法

数据结构与算法(三)-常用算法 温馨提示: 配合LeetCode题一起理解这些算法更有效哦~ 附上:https://leetcode-cn.com/problemset/all/ 一、递归算法 Recursion,递归是一种常用的算法,也可以称为一种编程技巧。在后续数据结构与算法的编码过程中都要使用到递归,比如DFS深度优先,二叉树前中后序遍历等。 1. 概念 程序调用自身的编程技巧称为递归( recursion),所有的递归问题都可以使用递推公式来表示。构成递归需具备的条件: 子问题须与原始问题为同

彭_德华的博客 2369

苦于实现3D空间自动布局的同学,请参考:3D室内空间布局自动化算法分析(含源码)

如何将3D物品自动摆放,构建一个家居空间,这篇文章将告诉你答案!文末会给出相关资料~

Welcome Friends~ 3598

常见排序算法的时间复杂度、空间复杂度、稳定性比较

常见排序算法的时间空间复杂度、稳定性比较 一、排序算法比较 注: 1、归并排序可以通过手摇算法将空间复杂度降到O(1),但是时间复杂度会提高。 2、 基数排序时间复杂度为O(N*M),其中N为数据个数,M为数据位数 二、 辅助记忆 1、时间复杂度记忆 冒泡、选择、直接 排序需要两个for循环,每次只关注一个元素,平均时间复杂度为O(n * n)O(n * n)(一遍找元素O(n)O(n),一遍...

qq_44665944的博客 5894

1.常见8种排序算法分析笔记之-空间O(1)三种(冒泡、选择、插入)

空间复杂度为O(1)的三种排序法 一、冒泡排序法 1.代码实现思想: ​ 参考文章 冒泡,即大的数据下层,小的数据上浮。 代码实现:每一轮,指定数组中的一个位置,放置该位置前所有元素中的最大值,即通过数据两两比较获取 要将N-1个位置放置好数据,需要N-1轮 每轮,指针j从0位置依次遍历,遍历到指定位置的前一个位置,比较当前位置j与下个位置j+1位置数值大小,是否交换 ​ 2.复杂度分析: 时间复杂度:O(N2)O(N^

xingzhes_的博客 5175

腾讯云TDSQL MySQL版 - 开发指南兼容性

语言结构 分布式实例支持所有 MySQL 使用的文字格式,包括: String Literals Numeric Literals Date and Time Literals Hexadecimal Literals Bit-Value Literals Boolean Literals NULL Values String Literals String Literals 是一个 bytes 或者 characters 的序列,两端被单引号'或者双引号"包围,TDSQL MySQL版

weixin_43872058的博客 909

避坑指南:vue-print-nb打印隐藏元素与空白页的那些事儿

本文深入解析了使用vue-print-nb插件时,打印出现空白页及隐藏元素问题的根本原因与解决方案。核心在于理解浏览器打印原理,并通过CSS媒体查询精准控制样式。文章提供了从重置根元素高度、处理隐藏元素到控制分页的完整避坑指南,帮助开发者彻底解决打印样式难题。

weixin_29008691的博客 436

排序算法 时间复杂度、空间复杂度

介绍了各种排序算法的时间复杂度、空间复杂度

wechatonly的博客 2829

飞塔防火墙和paloalto防火墙构建ipsec

一、配置fortigate防火墙1.防火墙配置上网功能1.1配置fortigate的wan1接口IP为100.100.100.2/24VLAN交换internal,IP地址为192.168.156.99/24。开启DHCP分配IP地址范围为192.168.156.110-192.168.156.2101.2配置访问互联网的缺省路由1.3配置访问互联网的安全策略2.配置与Paloalto防火墙的IPSECVPN。

weixin_44675999的博客 3738

常用的排序算法的时间复杂度和空间复杂度

常用的排序算法的时间复杂度和空间复杂度排序法 最差时间分析平均时间复杂度 稳定度 空间复杂度 冒泡排序O(n2)O(n2) 稳定 O(1) 快速排序O(n2)O(n*log2n) 不稳定 O(log2n)~O(n) 选择排序O(n2)O(n2) 稳定 O(1) 二叉树排序O(n2)O(n*log2n) 不一顶 O(n) 插入排序 O(n2)O(n2) 稳定 O(1) 堆排序O(n*log2n) O(n*log2n) 不稳定 O(1) 希尔排序OO 不稳定 O(1)1、时间复杂度 (1)时间频度 一个算法执行

小小外星人的技术博客 20万+

cadence17.4和16.6同时安装无法使用的问题

经过对报错的问题分析,发现还是17.4的lic文件和16.6的不一样,16.6的版本总是无法找到自己对应的lic文件。卸载了,重新单独安装16.6,这里就是正确的。包括使用这些工具去修复这些问题,都无法接近。已经放弃了,使用哪个版本就安装 哪个版本。这个也无法解决问题。

D_Katter的博客 2322

【考研复试】西安电子科技大学上机题

【考研复试】西安电子科技大学上机题

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 1737

排序算法时间复杂度、空间复杂度、稳定性比较

排序大的分类可以分为两种:内排序和外排序。放在内存的称为内排序,需要使用外存的称为外排序。

潘建南的博客 7万+

基于ENVI完成影像的去云操作以及后续处理

利用ENVI完成重采样影像的去云操作 由于SNAP重采样之后的影像是分波段保存的,ENVI的波段运算工具一次也只能输出一个波段,所以去云的操作分波段进行,原理是掩膜法 下面是打开所有波段后的界面 去云的依据是以quality_scene_classification栅格文件为基础,该文件是哨兵2数据自带的场景质量分类图,包含12个级别,可以通过SNAP软件查看,如下图所示: 对于去云操作而言,我们只需要DARK_FEATURE_SHADOW(地形等),CLOUD_SHADOW(云阴影)、CL

lemon_tttea的博客 2万+

常用排序算法的时间复杂度和空间复杂度

常用的排序算法的时间复杂度和空间复杂度 排序法 最差时间分析 平均时间复杂度 稳定度 空间复杂度 冒泡排序 O(n2) O(n2) 稳定 O(1) 快速排序 O(n2) O(nlog2n) 不稳定 O(log2n)~O(n) 选择排序 O(n2)

weixin_49307896的博客 2950

基于深度学习的水质预测:多参数监测与预测

在本篇博客中,我们详细介绍了如何使用深度学习技术处理水质预测问题,包括数据集的准备与预处理、多层感知机模型的构建、模型的训练与评估以及模型优化策略。我们使用 Python 语言基于 TensorFlow 和 Keras 框架实现了模型,并给出了各种模型优化方法及对应代码。通过实践,我们可以发现深度学习技术在水质预测方面具有很好的应用潜力。在实际应用中,我们还可以根据具体问题和数据集进一步调整和优化模型,以获得更好的预测性能。

斌擎科技 1080

Lammps实现甲烷与水的竞争吸附-循环不同气体分子

Lammps实现甲烷与水的竞争吸附

Rockyoung 5374

数据结构与算法之排序算法的时间复杂度、空间复杂度总结

算法复杂度分为时间复杂度和空间复杂度。时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。 一、时间复杂度 在介绍时间复杂度之前,先引入时间频度的概念: 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。 每个算法花费的时间与...

阿瞒--治国之能臣 乱世之奸雄 1万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

常见排序算法及其对应的时间复杂度、空间复杂度

常见排序算法及其对应的时间复杂度、空间复杂度: 排序算法经过长时间演变,大体可以分为两类:内排序和外排序。在排序过程中,全部记录存放在内存,则成为内排序;如果排序过程中需要使用外存,则称为外排序,本文讲的都属于内排序。 内排序有可以分为以下几类: (1)插入排序:直接插入排序、二分法插入排序、希尔排序 (2)选择排序:直接选择排序、堆排序 (3)交换排序:冒泡排序、快速排序 (4)归并排序 (5)基数排序 一、插入排序 •思想:每步将一个待排序的...

YUBANGSHUANGYUER的博客 6797

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

各种常用排序算法的时间复杂度和空间复杂度

https://blog.youkuaiyun.com/jiajing_guo/article/details/69388331 一、常用排序算法的时间复杂度和空间复杂度表格     二、特点   1.归并排序:   (1)n大时好,归并比较占用内存,内存随n的增大而增大,但却是效率高且稳定的排序算法。 (2)归并排序每次递归都要用到一个辅助表,长度与待排序的表长度相同,虽然递归次数是...

湾区人工智能 3万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

排序算法-算法时间复杂度和空间复杂度概念 详细讲解

排序算法-算法时间复杂度和空间复杂度概念 详细讲解 排序算法的介绍 排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。 排序的分类: 1)内部排序: 指将需要处理的所有数据都加载到内部存储器内存中进行排序。 2)外部排序法: 数据量过大,无法全部加载到内存中,需要借助外部存储文件进行排序。 3)常见的排序算法分类(见下图): 算法的时间复杂度 度量一个程序(算法)执行时间的两种方法 1)事后统计的方法这种方法可行,但是有两个问题:一是要想对设计的算法的运行性能

舒克日记的博客 3259

常见排序算法及其对应的时间复杂度和空间复杂度

排序算法经过长时间演变,大体可以分为两类:内排序和外排序。在排序过程中,全部记录存放在内存,则成为内排序;如果排序过程中需要使用外存,则称为外排序,本文讲的都属于内排序。 内排序有可以分为以下几类: (1)插入排序:直接插入排序、二分法插入排序、希尔排序 (2)选择排序:直接选择排序、堆排序 (3)交换排序:冒泡排序、快速排序 (4)归并排序 (5)基数排序 排序方法 时间复杂度(平均) 时间复杂度(最坏) 时间复杂度(最好) 空...

码农架构 1万+

排序算法的 时间复杂度 和 空间复杂度

常用的排序算法的时间复杂度和空间复杂度 排序法  最差时间分析 平均时间复杂度  稳定度  空间复杂度  冒泡排序 O(n2) O(n2) 稳定  O(1)  快速排序 O(n2) O(n*log2n) 不稳定  O(log2n)~O(n) 选择排序 O(n2) O(n2) 稳定  O(1)  二

小华子的奋斗的博客 598

排序算法的介绍及其时间复杂度和空间复杂度分析

7.1 排序算法的介绍 排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。 7.2 排序的分类: 1) 内部排序: 指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。 2) 外部排序法: 数据量过大,无法全部加载到内存中,需要借助外部存储(文件等)进行排序。 3) 常见的排序算法分类(见右图): 7.3 算法的时间复杂度 7.3.1度量一个程序(算法)执行时间的两种方法 1) 事后统计的方法 这种方法可行, 但是有两个问题:一是要.

a1489540461的博客 3165
上一篇: 排序
下一篇: 各种内部排序算法复杂度的比较和排序方法的选择
TrueLie
博客等级 码龄24年 85粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值