算法 python实现(二) 冒泡排序】的更多相关文章

首先说一下 冒泡排序 是怎么做的: 总体的想法是,把小的轻的浮上前面去,把大的重的沉到后面去. 这样设置两个指针,i j, 1. i标识每一趟循环.这一趟的目的是把后面那些未排序的数列中最小的浮上前面去. 2. j标识的就是一趟中,具体是怎么找到最小最轻的数的过程.j从末尾开始,逐个与自己前一个数比较大小,如果后面的数小于前面的数,就交换位置,让小的往前窜一个,否则就不动.然后j--,指向前一个,再比较相邻的数大小,直到 j 循环到i的位置,因为i之前的都是排序好的,不用在排了. 3. 一趟下来…
最近在学习python,用python实现几个简单的排序算法,一方面巩固一下数据结构的知识,另一方面加深一下python的简单语法. 冒泡排序算法的思路是对任意两个相邻的数据进行比较,每次将最小和最大的数据都放在数组头和尾的位置,每次比较完成后除去头.尾的数据,进行比较.python源码如下: def bubble_sort( ): str_array = raw_input("Input your numbers:") array = list(str_array) l = len(…
python排序之二冒泡排序法 如果你理解之前的插入排序法那冒泡排序法就很容易理解,冒泡排序是两个两个以向后位移的方式比较大小在互换的过程好了不多了先上代码吧如下: 首先还是一个无序列表lis,老规矩打印出来和最后排序对比看,函数方法bubbie_sort冒泡排序,count计数也就是列表长度len(列表),第一个for循环取列表中的第一个值然后向后位移,第二个for循环取列表i+1也就是第二个值向后位移,这表是第二个for只会取第一个for后面的值好做比较,count长度一直15,如果两个不一…
Python之排序算法:快速排序与冒泡排序 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/7828610.html 入坑(简称IT)这一行也有些年头了,但自老师讲课提过排序算法后几乎再也没写过排序算法,当然这也没有什么问题,实际的排序大多是将数据从数据库取出来前在数据库中就已经做好排序了,当然这个排序是SQL范畴的,如果真的需要在代码中排序也有对应的工具类来处理,就比如有Java中有Array.sort()来排列Array(数组类型),功能虽说有限制,但也…
用菜鸟的思维学习算法 -- 马桶排序.冒泡排序和快速排序 [博主]反骨仔 [来源]http://www.cnblogs.com/liqingwen/p/4994261.html  目录 马桶排序(令人作呕的排序) 冒泡排序(面试都要问的算法) 快速排序(见证亚当和夏娃的爱情之旅) 马桶排序(令人作呕的排序) 一.场景:期末考试完了,老师要将同学们的分数从高到低排序.假设班上有 5 名同学,分别考了 5 分.3 分.5 分.2 分和 8 分[满分:10 分],排序后的结果就是 8 5 5 3 2,…
改进的冒泡排序 一.算法描述 基于原冒泡排序 每次选取第一个元素作为主元往后进行比较,若遇到比它小的则放到它左边(即进行交换),若遇到比它大的则选取大的作为主元进行后续比较,每趟选取了无序列中最大元素放置无序列最后位,当一趟比较没有发生交换则为有序序列,即像吐泡泡一样第一次把最大的数吐到最末位,第二趟把倒数第二大的数吐到倒数第二位..... 到last,同样当某趟排序不发生交换时完成排序 二.算法分析 原每趟排序的范围固定为0到n,0到n-1,0到n-2......到last,且每次的last是…
一.什么是pagerank PageRank的Page可是认为是网页,表示网页排名,也可以认为是Larry Page(google 产品经理),因为他是这个算法的发明者之一,还是google CEO(^_^).PageRank算法计算每一个网页的PageRank值,然后根据这个值的大小对网页的重要性进行排序.它的思想是模拟一个悠闲的上网者,上网者首先随机选择一个网页打开,然后在这个网页上呆了几分钟后,跳转到该网页所指向的链接,这样无所事事.漫无目的地在网页上跳来跳去,PageRank就是估计这个…
最近项目中用到二维码图片识别,在python下二维码识别,目前主要有三个模块:zbar .zbarlight.zxing. 1.三个模块的用法: #-*-coding=utf-8-*- import os import logging import zbar from PIL import Image import zxing import random import zbarlight logger=logging.getLogger(__name__) if not logger.handl…
第一篇 基本概念 01 什么是数据结构 02 什么是算法 03 应用实例-最大子列和问题 第二篇 线性结构 01 线性表及其实现 02 堆栈 03 队列 04 应用实例-多项式加法运算 05 小白专场-多项式乘法与加法运算-c语言实现 05 小白专场-多项式乘法与加法运算-python语言实现 第三篇 树(上) 01 树与树的表示 02 二叉树及存储结构 03 二叉树的遍历 04 小白专场-树的同构-c语言实现 04 小白专场-树的同构-python语言实现 第三篇 树(中) 01 二叉搜索树…
Python实现二叉堆 二叉堆是一种特殊的堆,二叉堆是完全二元树(二叉树)或者是近似完全二元树(二叉树).二叉堆有两种:最大堆和最小堆.最大堆:父结点的键值总是大于或等于任何一个子节点的键值:最小堆:父结点的键值总是小于或等于任何一个子节点的键值. 优先队列的二叉堆实现 在前面的章节里我们学习了"先进先出"(FIFO)的数据结构:队列(Queue).队列有一种变体叫做"优先队列"(Priority Queue).优先队列的出队(Dequeue)操作和队列一样,都是从…