来都来了,你确定不看看常用的冒泡排序算法<一>!(python版本图文并茂!!!!)(代码片段)

温柔且上进c 温柔且上进c     2022-12-28     631

关键词:

常见的排序!!

冒泡排序

       基本概念:
              •冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,所以其名为冒泡排序
       冒泡排序算法的过程如下:
              •从第一个元素比较相邻的元素。如果第一个比第二个大(升序),就交换它们两个
              •对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的一个元素即为最大的数
              •针对所有的元素重复以上的步骤,除了最后一个元素
              •持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
              •
       •冒泡排序图像演示:

       •冒泡排序算法实现:

def bubble_sort(li):
    n = len(li)  # 列表长度
    # 外层循环控制冒泡趟数 为列表长度减一
    for j in range(n - 1):
        exchange = False  # 标志值
        # 交换数值 内层循环控制需要比较的次数
        for i in range(n - 1 - j):
            if li[i] > li[i + 1]:
                li[i], li[i + 1] = li[i + 1], li[i]
                exchange = True
        if not exchange:
            return


if __name__ == '__main__':
    li = [54, 26, 93, 17, 77, 31, 44, 55, 20]
    bubble_sort(li)
    print(li)

# 排序结果: [17, 20, 26, 31, 44, 54, 55, 77, 93]

来都来了,你确定不看看常用的希尔排序算法<四>!(python版本图文并茂!!!!)(代码片段)

希尔排序概念:       •希尔排序(ShellSort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。希尔排序是把... 查看详情

来都来了,你确定不看看常用的插入排序算法<三>!(python版本图文并茂!!!!)(代码片段)

插入排序算法概念:       •插入排序(英语:InsertionSort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入... 查看详情

来都来了,你确定不看看,阿里云centos8安装docker!!(图文并茂版!!!)(代码片段)

阿里云Centos8安装Docker准备工作查看centos系统的版本号查看centos系统内核版本Centos8安装Docker切换到管理员权限安装必要的系统工具添加软件镜像源(阿里镜像源)更新并安装Docker-CE(社区版)安装完成查看Docker版本准备工作... 查看详情

来都来了,你确定不看看,git从零开始的详细使用教程,你一定能学废!!(万字长文图文并茂版!!!!)(代码片段)

Git详细使用教程!!!认识GitWindows安装GitGit环境配置用户名与邮箱地址的设置Git中实用的自定义配置Git忽略某个或某类文件强制添加被忽略的文件偷懒大法:配置别名配置文件Git的基础命令在已存在目录中初始化... 查看详情

来都来了,你确定不看看,使用python中的科学计算库numpy操作数组,你一定能学废!!(图文并茂版!!!!)(代码片段)

Numpy操作数组Numpy库Numpy库的介绍Numpy库的安装:python中数组与列表对比列表:数组:数组的创建使用array方法创建数组注意:ndmin,dtype参数的使用使用arange方法创建数组使用random(随机数)方法创建数组其它方式... 查看详情

来都来了,你确定不看看,在linuxcentos8下安装redis,你一定能学废!!!(图文并茂版!!!)(代码片段)

centos8安装redis安装gcc编译环境新建个目录,下载redis下载完成后解压缩进入文夹目录,并进行编译和安装查看redis版本!!启动redis服务端启动redis客户端修改配置文件并以配置文件启动redisbind127.0.0.1protected-moderequir... 查看详情

来都来了,你确定不看看,阿里云服务器centos8安装mysql8.0!!(图文并茂版!!!)(代码片段)

阿里云服务器Centos8安装MySQL8.0使用最新的包管理器dnf安装MySQL设置开机自启动检查MySQL的启动状态查看MySQL版本添加密码及安全设置使用root用户登录远程连接数据库配置设置远程连接信息开放防火墙MySQL3306端口关闭MySQL主机查询dns... 查看详情

数据结构与算法系列十一(冒泡排序)(代码片段)

...中间件,写的代码不也能“飞”起来吗?于是问题来了:为什么还要学习数据结构与算法呢?#理由一:面试的时候,千万不要被数据结构与算法拖了后腿#理由二:你真的愿意做一辈子CRUDBoy吗#理由三:不想写出开源框架,... 查看详情

常用排序算法(一)(代码片段)

本篇主要介绍排序算法中的冒泡排序选择排序和插入排序一冒泡排序1、思路:首先,列表每两个相邻的数比较大小,如果前边的比后边的大,那么这两个数就互换位置。就像是冒泡一样2、代码关键点:趟数:n-1趟无序区3、图示... 查看详情

常用算法(代码片段)

 知识目录一、冒泡排序二、选择排序三、插入排序四、快速排序五、堆排序六、归并排序总结一、冒泡排序1、思路:首先,列表每两个相邻的数比较大小,如果前边的比后边的大,那么这两个数就互换位置。就像是冒泡一... 查看详情

常用排序算法

1.冒泡排序1.1算法原理:S1:从待排序序列的起始位置开始,从前往后依次比较各个位置和其后一位置的大小并执行S2。S2:如果当前位置的值大于其后一位置的值,就把他俩的值交换(完成一次全序列比较... 查看详情

java常见数据算法_冒泡排序

常见的算法有非常多,今天我们就一起看看常见的算法之冒泡排序。冒泡排序的主要核心思想就是:比较相邻两个元素,如果前一个元素的值比后一个元素的值大,则进行交换,经过对每个元素的比较,最后将最大的元素设置成... 查看详情

几种常用排序算法(代码片段)

八大常用排序算法详细分析包括复杂度:排序有可以分为以下几类:(1)、交换排序:冒泡排序、快速排序(2)、选择排序:直接选择排序、堆排序(3)、插入排序:直接插入排序、希尔排序(4)、归并排序(5)、基数排序(桶排序) ... 查看详情

chatgpt教你算法——常用的排序算法(代码片段)

...说,作为助教,我给他打200分。这真的让我想起来了小时候看的一个小说《师士传说》中的没有感情的牧,两者真的是太像了。好了闲话不说,我们来看看ChatGPT教你常见的排序算法吧!是不是通俗易懂,... 查看详情

常用算法之冒泡选择插入快排(代码片段)

常用简单算法一、冒泡排序冒泡排序的基本思想是,对相邻的元素进行两两比较,假设这连个数字是, a、b 同时排序规则是升序,如果a>b则他们位置进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端... 查看详情

常用排序算法(代码片段)

一、冒泡排序   冒泡排序是最简单的排序算法。假设数组一共有n个元素,元素最大下标为n-1,冒泡排序的具体做法是:第一趟在序列(A[0]~A[n-1])中从前往后进行两个相邻元素的比较,若前者大,则交换,... 查看详情

常用排序算法

1.冒泡排序1.1算法原理:S1:从待排序序列的起始位置开始,从前往后依次比较各个位置和其后一位置的大小并执行S2。S2:如果当前位置的值大于其后一位置的值,就把他俩的值交换(完成一次全序列比较... 查看详情

实验八--排序算法

实验八排序算法的实现一、实验目的:熟练掌握常用的直接插入排序、简单选择排序、冒泡排序等算法。深入理解各种查找排序的结构特点及各算法之间的区别。二、实验内容:采用直接插入排序、简单选择排序、冒泡排序等常... 查看详情