算法1-排序LowB三人组
import random from timewrap import *@cal_time def bubble_sort(li):for i in range(len(li) - 1):# i 表示趟数# 第 i 趟时: 无序区:(0,len(li) - i)for j in range(0, len(li) - i - 1):if li[j] > li[j+1]:li[j], li[j+1] = li[j+1], li[j]@cal_time def bubble_sort_2(li):for i in range(len(li) - 1):# i 表示趟数# 第 i 趟时: 无序区:(0,len(li) - i)change = Falsefor j in range(0, len(li) - i - 1):if li[j] > li[j+1]:li[j], li[j+1] = li[j+1], li[j]change = Trueif not change:returnli = list(range(10000)) # random.shuffle(li) # print(li) bubble_sort_2(li) print(li)
冒泡
import random from timewrap import *@cal_time def select_sort(li):for i in range(len(li) - 1):# i 表示趟数,也表示无序区开始的位置min_loc = i # 最小数的位置for j in range(i + 1, len(li) - 1):if li[j] < li[min_loc]:min_loc = jli[i], li[min_loc] = li[min_loc], li[i]li = list(range(10000)) random.shuffle(li) print(li) select_sort(li) print(li)
选择
import random from timewrap import *@cal_time def insert_sort(li):for i in range(1, len(li)):# i 表示无序区第一个数tmp = li[i] # 摸到的牌j = i - 1 # j 指向有序区最后位置while li[j] > tmp and j >= 0:#循环终止条件: 1. li[j] <= tmp; 2. j == -1li[j+1] = li[j]j -= 1li[j+1] = tmpli = list(range(10000)) random.shuffle(li) print(li) insert_sort(li) print(li)
插入
转载于:https://www.cnblogs.com/fenglin0826/p/8447261.html
算法1-排序LowB三人组相关推荐
- 排序算法lowb三人组-插入排序
排序算法lowb三人组-插入排序 def insert_sort(li):for i in range(1, len(li)): # i表示摸到的牌的下标tmp = li[i] # 摸到的牌j = i ...
- 排序算法之low B三人组
排序算法之low B三人组 排序low B三人组 列表排序:将无序列表变成有充列表 应用场景:各种榜单,各种表格,给二分法排序使用,给其他算法使用 输入无序列表,输出有序列表(升序或降序) 排序low ...
- 算法-lowb三人组
---恢复内容开始--- d定义: pandas是一个强大的Python数据分析的工具包. pandas是基于NumPy构建的. 安装方法: pip install pandas import pan ...
- 数据结构和算法详解(三)——递归、排序、散列表
一.递归 一.什么是递归? 1.递归是一种非常高效.简洁的编码技巧,一种应用非常广泛的算法,比如DFS深度优先搜索.前中后序二叉树遍历等都是使用递归. 2.方法或函数调用自身的方式称为递归调用,调用称 ...
- 三种线性排序算法 计数排序、桶排序与基数排序-BYVoid
转自:BYVoid [非基于比较的排序] 在计算机科学中,排序是一门基础的算法技术,许多算法都要以此作为基础,不同的排序算法有着不同的时间开销和空间开销.排序算法有非常多种,如我们最常用的快速排序和堆 ...
- 三种线性排序算法 计数排序、桶排序与基数排序—— 转自:BYVoid
三种线性排序算法 计数排序.桶排序与基数排序 [非基于比较的排序] 在计算机科学中,排序是一门基础的算法技术,许多算法都要以此作为基础,不同的排序算法有着不同的时间开销和空间开销.排序算法有非常多种, ...
- 数据结构与算法之美笔记(三)排序
排序 如何分析一个"排序算法"? 排序算法的执行效率 1.1 最好情况.最坏情况.平均情况时间复杂度 1.2 时间复杂度的系数.常数 .低阶 1.3 比较次数和交换(或移动)次数 ...
- 数据结构排序算法实验报告_[数据结构与算法系列]排序算法(二)
我的上一篇文章向大家介绍了排序算法中的冒泡排序.插入排序和选择排序.它们都是平均时间复杂度为 O(n^2) 的排序算法,同时还为大家讲解了什么是原地排序和什么是排序的稳定性.下图是这三种算法的比较,不 ...
- Java入门算法(排序篇)丨蓄力计划
本专栏已参加蓄力计划,感谢读者支持 往期文章 一. Java入门算法(贪心篇)丨蓄力计划 二. Java入门算法(暴力篇)丨蓄力计划 三. Java入门算法(排序篇)丨蓄力计划 四. Java入门算法 ...
最新文章
- Linux全攻略--MySQL数据库配置与管理
- java合集框架第一天
- windows环境下新建.txt文件,使其默认以UTF-8编码
- zwpython_零起点Python大数据与量化交易
- php redis.h,swoole安装hredis支持导致php不能加载swoole扩展
- PowerBI 报表服务器刷新失败自动重刷并邮件通知
- 剑指Offer的学习笔记(C#篇)-- 二叉树的下一个节点(好理解版本)
- hping3安装及使用
- javascript 常用插件库
- PDF编辑器怎么用,如何旋转PDF页面
- 中国交通标志检测数据集
- Camera Tuning-高通平台总结
- 浅谈根号分治——暴力的美学
- 软件 | 快速计算网络自然连通度评估群落稳定性
- Keil5.15使用GCC编译器编译STM32工程
- java实现身份证号校验
- 基因功能预测工具-HMMER的安装
- 查询国际学术会议的信息
- 量化高频交易从0到1(期货CTP,纳秒级,高频、趋势及套利策略)课程大纲
- 【SSD】自动化测试框架