蓝桥杯宝藏排序算法(冒泡、选择、插入)

冒泡排序:

def bubble_sort(li):            # 函数方式for i in range(len(li)-1):exchange=Falsefor j in range(len(li)-i-1):if li[j]>li[j+1]:li[j],li[j+1]=li[j+1],li[j]exchange=Trueif not exchange:return

选择排序:

从左往右找到最小的元素,放在起始位置;重复上述步骤,依次找到第2小、第3小元素...

第0次循环从[0,n-1]中找最小元素a[x],与a[0]交换

第1次循环从[1,n-1]中找最小元素,与a[1]交换

第2次循环从[2,n-1]中找最小元素,与a[2]交换

第i次循环从[i,n-1]中找最小元素,与a[i]交换

第n-2次循环从[n-2,n-1]中找最小元素,与a[n-2]交换时间复杂度:O(n'2),空间复杂度O(1),稳定

n = int(input())
a = list(map(int, input().split()))
for i in range(n - 1):  # 一共n-1次!min = i  # 每次默认第一个值为最小值for j in range(i + 1, n):if a[j] < a[min]:min = ja[i], a[min] = a[min], a[i]print(' '.join(map(str, a)))

插入排序:

第一个元素看做已排序,从左往右遍历每一个元素:

在已排序元素中从后往前扫描 : 如果当前元素大于新元素,则该元素移动到后一位

重复第二步直至找到小于等于新元素则停止。

将上述步骤看做摸牌,每次摸一张牌从后往前判断是否可以插入

对于第i张牌a[i],[0, i-1]中的牌都是已经排好顺序的

从后往前逐个判断ai]是否大于a[i]

如果a[i]>a[i]:则a[i]往后挪一个位置;如果a[i]<=a[i]:此时在aj+1]的位置放置a[i]

时间复杂度:O(n^2),空间复杂度O(1),不稳定

for i in range(1,len(li)):  # 功n-1趟,i表示摸到牌的下标tmp=li[i]  # 每次摸的牌j=i-1      # 手里最右侧的while j>=0 and li[j]>tmp:    # 一直往左走li[j+1]=li[j]    # 右移j-=1li[j+1]=tmp   # 选好位置了

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux rm 命令

Linux rm&#xff08;英文全拼&#xff1a;remove&#xff09;命令用于删除一个文件或者目录。 语法 rm [options] name...参数&#xff1a; -i 删除前逐一询问确认。-f 即使原档案属性设为唯读&#xff0c;亦直接删除&#xff0c;无需逐一确认。-r 将目录及以下之档案亦逐一…

一个简单的 HTTP 请求和响应服务——httpbin

拉取镜像 docker pull kennethreitz/httpbin:latest 查看本地是否存在存在镜像 docker images | grep kennethreitz/httpbin:latest 创建 deployment&#xff0c;指定镜像 apiVersion: apps/v1 kind: Deployment metadata:labels:app: httpbinname: mm-httpbinnamespace: mm-…

Latex生成的PDF中加入书签/Navigation/导航

本文参考&#xff1a;【Latex学习】在生成pdf中加入书签/目录/提纲_latex 书签-CSDN博客 &#xff08;这篇文章写的真的太棒了&#xff01;非常推荐&#xff09; 题外话&#xff0c;我的碎碎念&#xff0c;这也是我如何提高搜索能力的办法&#xff1a;想在Latex生成的PDF中加入…

2023的AI工具集合,google和claude被禁用解决和edge的copilot

一、前言 AI工具集合 首先&#xff0c;OpenAI的ChatGPT以其深度学习模型和强大的语言处理能力引领了AI聊天机器人的潮流。自2022年11月30日上线以来&#xff0c;它创下了100万用户的注册记录&#xff0c;并被广泛应用于全球财富500强公司。为了实现盈利&#xff0c;OpenAI发布…

iOS 开发设计 App 上架符合要求的截图

1. 真机运行截屏 2. 可以在 Apple developer 官网 Design 下找到 iPhone 边框 https://developer.apple.com/design/resources/ 不用这个边框也行&#xff0c;可以参考已上架 App 的图片框 3. 使用 Procreate&#xff08;PhotoShop&#xff09;创建符合要求的画布大小 4. 导入…

说说对React refs 的理解?应用场景?

先了解&#xff0c;是什么&#xff1f; React 中的 Refs提供了一种方式&#xff0c;允许我们访问 DOM节点或在 render方法中创建的 React元素。 本质为ReactDOM.render()返回的组件实例&#xff0c;如果是渲染组件则返回的是组件实例&#xff0c;如果渲染dom则返回的是具体的do…

springboot集成websocket全全全!!!

一、界面展示 二、前置了解 1.什么是websocket WebSocket是一种在单个TCP连接上进行全双工通信的持久化协议。 全双工协议就是客户端可以给我们服务器发数据 服务器也可以主动给客户端发数据。 2.为什么有了http协议 还要websocket 协议 http协议是一种无状态&#xff0c;非…

铭飞CMS cms/content/list接口存在SQL注入 附POC

@[toc] 铭飞CMS cms/content/list接口存在SQL注入 附POC 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用…

内存函数的学习

额外知识点 第一个 假设c为int类型&#xff0c;&#xff08;char&#xff09;c之后&#xff0c;之后如果还用变量c的话&#xff0c;c依然为int类型。&#xff08;&#xff09;强制转换操作符并不会永久改变原本的变量类型。 第二个 \0在打印时不会显示出来 第三个 void …

增强客户获取能力:探索 B 端影片行销的影响

01 B端企业短视频营销的价值与难点 短视频营销在当今的市场中越来越受到重视。有数据显示&#xff0c;越来越多的市场人将尝试增加短视频营销的预算&#xff0c;并且在2023年&#xff0c;每5个市场人中就有1个人将尝试短视频营销。相较于内容深、信息量大的长视频&#xff0c;…

免费的ChatGPT分享

免费的ChatGPT 以下是一些免费的ChatGPT平台和工具&#xff1a; 零声教学AI助手 零声教育内部使用的ChatGPT&#xff0c;提供智能对话和问题解答功能。 Ora.ai 一个可以自定义的AI聊天机器人&#xff0c;可以根据个人需求进行定制和训练。 ChatGPT 人工智能聊天机器人&a…

避免约束系数过大的2种技巧

相关文章&#xff1a; 《数学建模中提升目标、变量和约束的紧凑度的几种技巧》 《计算机存储精度引起的模型数值问题》 如前文所述&#xff0c;当数学模型当中的约束系数过大时&#xff0c;会增加模型的求解难度&#xff0c;这一点会在预处理当中改善&#xff1b;另一方面是&am…

串口通信(7)-C#串口通信通信帮助类实例

本文讲解C#串口通信通信帮助类实例 首先创建winform项目添加界面和控件 UI界面 namespace SerialPortDemo {partial class MainForm{/// <summary>/// 必需的设计器变量。/// </summary>private System.ComponentModel.IContainer components = null;/// <sum…

zabbix-proxy配置及邮件配置

一、下载配置server&#xff0c;agent端 下载zabbix-server&#xff0c;server客户端 # 备注&#xff1a;zabbix源不能和epel源同时存在&#xff0c;要给epel源注释了 # 更新下载zabbix源 [rootzabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64…

c#委托学习笔记1

委托三步骤 第一步&#xff1a;定义委托 //第一步&#xff1a;1 声明委托(定义委托) //对于声明委托的解释如下&#xff1a; //解释a&#xff1a;函数指针 //解释b&#xff1a;委托就是定义函数的形状&#xff08;形态&#xff09; // 即&#xff1a;返回值类型&#x…

【AI-1】卷积神经网络

分享些AI的知识点&#xff0c;主要聊一下深度学习中的卷积神经网络。 机器学习分哪些分支&#xff1f; 监督学习&#xff08;Supervised Learning&#xff09;&#xff1a;在监督学习中&#xff0c;模型通过使用带有标签的训练数据来学习输入和输出之间的映射关系。监督学习的…

strace 用法

按照strace官网的描述, strace是一个可用于诊断、调试和教学的Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互&#xff0c;比如系统调用、信号传递、进程状态变更等。 常用用法&#xff1a;查看文件的系统调用 -o 文件名 将跟踪输出写入指定的文件而不是st…

宝塔面板 -- 创建第一个自己的网站

文章目录 前言 一、安装宝塔面板 二、注册宝塔面板 三、安装nginx 四、第一个hello world运行 五、总结 文章目录 前言一、安装宝塔面板二、注册宝塔面板三、安装nginx四、第一个hello world运行五、总结 前言 阿里云最近对在校大学生免费每人赠送一台服务器&#xff0c…

展望2023年CSDN博客之星评选

目录 1 前言2 博客的意义3 人工智能对博客的影响4 AI 技术下的成长与分享5 技术的探索6 博客之星评选对于技术人的激励作用7 结语 1 前言 当我们回顾过去&#xff0c;博客不仅仅是一种记录生活、分享经验的方式&#xff0c;更是一个见证自我成长与进步的平台。站在2023年度 CS…

uniapp实战 -- 个人信息维护(含选择图片 uni.chooseMedia,上传文件 uni.uploadFile,获取和更新表单数据)

效果预览 相关代码 页面–我的 src\pages\my\my.vue <!-- 个人资料 --><view class"profile" :style"{ paddingTop: safeAreaInsets!.top px }"><!-- 情况1&#xff1a;已登录 --><view class"overview" v-if"membe…