1、python冒泡排序和快排
冒泡排序的原理: 比较相邻的两个元素,如果顺序有误则把他们交换位置.
直到最后一个是最大的。就像气泡一样,小的向上浮。
list1 = [20,15,88,97,76,13,27,49]
def bubble_sort(list1):count = len(list1)for i in range(0,count):for j in range(i+1,count):if list1[i] > list1 [j]:list1[i],list1[j] = list1[j],list1[i]return list1
aaa = bubble_sort(list1)
print(aaa)
[13, 15, 20, 27, 49, 76, 88, 97]
快速排序(快排)的原理:
1、在数列之中,选择第一个元素作为”基准”。
2、数列中所有元素都和这个基准值进行比较,如果比基准值小就移到基准值的左边,如果比基准值大就移到基准值的右边
3、以基准值左右两边的子列作为新数列,不断重复第一步和第二步,递归完成时,就是排序结束时。
递归:不断重复这个循环,就是递归。哪个循环?(从一个地方出发,回到了出发的地方)
递归例子:
从前有一座山,山里有一座庙,庙里有一个老和尚和一个小和尚,他们在说故事,故事是啥?
从前有一座山,山里有一座庙,庙里有一个老和尚和一个小和尚,他们在说故事,故事是啥?
从前有一座山,山里有一座庙,庙里有一个老和尚和一个小和尚,他们在说故事,故事是啥?
list1 = [20,15,88,97,76,13,27,49]
def quict_sort(list1):if list1 == []:return []else:first = list1[0]less = quict_sort([l for l in list1[1:] if l < first])morr = quict_sort([m for m in list1[1:] if m >= first])return less + [first] + morr
aaa = quict_sort(list1)
print(aaa)
[13, 15, 20, 27, 49, 76, 88, 97]
1、python冒泡排序和快排相关推荐
- python模拟seo快排vps点击代码实操
本期主要是介绍一下利用vps拨号的方法去运行用户点击行为,俗称seo模拟快排,那么顾名思义,快排的运行方式需要在一台拨号服务器上进行,本次模拟快排的代码是采用python中的pyppeteer库,这个 ...
- python解题冒泡排序_python 冒泡排序,快排
一.冒泡排序 1.1.冒泡的原理 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的 ...
- python应用seo_SEO快排技术和应用技术编程大全
授课内容简介 两个模块:「SEO套路」和「SEO应用编程」 「SEO套路」模块,分 "域名.内容&模板.关键词.链接.点击" 五个章节,所有的SEO动作都是从这5个点中入手 ...
- 在php中冒泡排序,php中实现快排与冒泡排序
快排 function quicksort($str){ if(count($str)<=1) return $str;//如果个数不大于一,直接返回 $key=$str[0];//取一个值,稍 ...
- C语言实现稳定的快排
关于这种稳定的快排的思路,请看我之前的这篇文章: <对数器&Python实现稳定快排> 下面是实现代码: #include<stdio.h> #include<s ...
- python实现快排算法(quicksort)
python实现快排算法(quicksort) 快速排序是对冒泡排序的一种改进.它的基本思想是:通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后 ...
- 02_Python算法+数据结构笔记-冒泡排序-选择排序-插入排序-快排-二叉树
b站视频:路飞IT学城 清华计算机博士带你学习Python算法+数据结构_哔哩哔哩_bilibili 文章目录 #11 排序介绍 #12 冒泡排序介绍 #13 冒泡排序 #14 选择排序 #15 插入 ...
- 带哨兵的冒泡排序_冒泡排序的优化以及快排过程及优化
冒泡排序的优化: 1.加入哨兵.2.记住每一次交换的最后位置,该位置以后的为有序,不需要改变. 1.快速排序的基本思想: 快速排序使用分治的思想,通过一趟排序将待排序列分割成两部分,其中一部分记录的关 ...
- Python 实现快排、堆排
Python 实现快排.堆排 1.快排 原理:(升序) 选取数组的首个元素做为中间值,缓存这个中间值,该位置变为空: 从右到左和中间值对比,找到第一个小于中间值的元素,把该值放到左边的空位,该位置变为 ...
最新文章
- 真没想到中国有这么猛的软件,杀伤力太强了!
- 硬核!尽量避免 BUG 手法
- SpringBoot 自定义Kafka消息序列化和反序列化
- flash 语法 入门
- 硬件:台式机老式键盘知识科普
- jax-rs配置_具有MicroProfile配置的可配置JAX-RS ExceptionMapper
- 团队作业3:团队项目原型设计与开发
- NewBeeNLP 年中 | From NewBee To NB
- 阿里云HBase全新发布X-Pack 赋能轻量级大数据平台
- java线程池饱和策略_干货:Java几种线程池的分析和使用。
- 正则表达式(以后认真研究下)
- 博图os更新_PCS7和TIA博图软件有什么区别?
- unity中导入的角色没有Avatar
- JavaScript-射击比赛成绩单编程
- webgl1到webgl2_我如何使用WebGL重建Gorillaz Andromeda音乐视频
- 如何设置双路由器,图文详解
- TensorFlow及深度学习相关资料积累汇总【不定期更新】
- TCP的拥塞避免、超时重传、快速重传、快速恢复
- anima2d的优化和压缩
- java寻优算法_模拟退火算法SA原理及python、java、php、c++语言代码实现TSP旅行商问题,智能优化算法,随机寻优算法,全局最短路径...