- 浏览: 248103 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (127)
- vim (3)
- python (44)
- pymysql (1)
- mysql (9)
- macvim (1)
- erlang (3)
- twisted (0)
- tornado (5)
- django (7)
- postgresql (5)
- sql (1)
- java (7)
- tech (4)
- cache (1)
- lifestyle (3)
- html (1)
- ubuntu (2)
- rabbitmq (1)
- algorithm (8)
- Linux (4)
- Pythonista (1)
- thread (1)
- sort (6)
- 设计模式 (1)
- search (1)
- Unix (6)
- Socket (3)
- C (2)
- web (1)
- gc (1)
- php (10)
- macos (1)
最新评论
-
2057:
这个程序有bug。
查找算法学习之二分查找(Python版本)——BinarySearch -
dotjar:
NB
一个Python程序员的进化[转]
冒泡排序(Bubble Sort,台灣譯為:泡沫排序或氣泡排序)是一種簡單的排序算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端。冒泡排序演算法的運作如下:
代码:
参考资料:
http://zh.wikipedia.org/zh-cn/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F
- 1. 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
- 2. 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
- 3. 針對所有的元素重複以上的步驟,除了最後一個。
- 4. 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
代码:
#!/usr/bin/env python #-*-encoding:utf-8 #BubbleSort def bubble_sort(param): p_len = len(param) for i in range(p_len): for j in range(i+1,p_len)[::-1]: if param[j] < param[j-1]: param[j],param[j-1]=param[j-1],param[j] return param def main(): param = [1,2,3,5,7,6,4] print bubble_sort(param) if __name__=="__main__": main()
参考资料:
http://zh.wikipedia.org/zh-cn/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F
发表评论
-
macos 10.9.2 clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command
2014-03-25 19:13 1769方法总是有的,当然需要你去寻找。 当然如果花费太多的时间在一件 ... -
PostgreSQL psycopg2:IndexError: tuple index out of range
2014-01-09 17:04 2234Postgresql psycopg2使用like查询的时候 ... -
Python 迭代器和生成器
2013-10-15 23:09 2854迭代器 迭代器只不过是一个实现迭代器协议的容器对象。它基于两个 ... -
Python时间模块
2013-10-15 23:03 3478time模块 时间模块中最常用的一个函数就是获取当前时间的函数 ... -
Python装饰器
2013-10-15 22:59 1572编写自定义装饰器有许多方法,但最简单和最容易理解的方法是编写一 ... -
python list
2013-10-15 22:56 1260简单总结以及整理如下: >>> dir( ... -
Python Excel
2013-09-10 17:21 979安装lib easy_install xlrd def ... -
排序算法学习(python版本)之堆排序(HeapSort)
2013-07-01 22:54 2004Contains: 堆排序以及堆排序的应用 堆排序(Heaps ... -
python range xrange
2013-06-25 23:30 1158引用Help on built-in function ran ... -
python class
2013-06-25 00:54 1832引用类是创建新对象类 ... -
AttributeError: 'module' object has no attribute 'SendCloud'
2013-06-05 11:46 7093网上查了下 意思是说你命名的文件名不能和lib重名,这样会导 ... -
python string
2013-05-07 23:44 2202如果这就是字符串,这本来就是字符串 首先看下字符串的方法 ... -
Python property
2013-03-29 19:56 0由于之前有总结过,可以参考http://2057.iteye. ... -
python tips
2013-03-28 23:57 8891、enum #!/usr/bin/env python ... -
python decorators
2013-03-28 23:36 1371Contains: 1、decorators 2、funct ... -
python closures
2013-03-28 22:09 1195Closure:如果在一个内部函数里,对在外部作用域(但不是在 ... -
Python map、filter,reduce介绍
2013-03-28 22:02 13191、filter(function,iterable) 引用C ... -
Python __new__ 、__init__、 __call__
2013-03-26 23:49 5359Contains: __new__: 创建对象时调用,返回当 ... -
Python socket简介
2013-03-25 23:42 2181自豪地使用dir和help. Python 2.7.2 ( ... -
Tornado ioloop源码简析
2013-03-21 00:18 2856#!/usr/bin/env python #-*-en ...
相关推荐
# sort.bubbleSort() #冒泡排序 # sort.shellSort() #希尔排序 # sort.insertionSort() #插入排序 # sort.Selectionsort1() #选择排序 # sort.heapSort() #堆排序 # sort.countSort() #计数排序 # sort....
### 冒泡排序算法知识点详解 #### 一、冒泡排序的基本概念与原理 冒泡排序(Bubble Sort)是一种基础且直观的排序方法,适用于初学者理解排序...对于初学者而言,学习冒泡排序有助于掌握排序算法的基本原理和技术。
冒泡排序是一种基础的排序算法,它通过重复遍历待排序的序列,比较相邻的元素并根据需要交换它们,直到序列中的所有元素都在其正确的位置上。这种算法的名字来源于较小的元素像气泡一样逐渐“浮”到序列的顶端。在...
冒泡排序是一种基础且经典的排序算法,其工作原理是通过不断地交换相邻的逆序元素,逐渐将较大的元素“冒”到序列的末尾,从而达到排序的目的。在Linux环境下,尤其是Ubuntu 13.04这样的操作系统中,我们可以通过...
在本压缩包中,主要探讨了冒泡排序算法的实现,包括实际代码和伪代码两种形式,以帮助学习者深入理解其工作原理。** **冒泡排序**是一种简单的比较型排序算法,通过重复遍历待排序的元素列表,每次比较相邻的两个...
冒泡排序是一种基础的排序算法,它通过重复遍历待排序的序列,比较相邻元素并交换位置,使得每个元素都能逐步地"浮"到正确的位置上。在Python中,我们可以用...但对于学习排序算法的初学者,冒泡排序是一个很好的起点。
冒泡排序是一种基础且直观...总的来说,冒泡排序是学习排序算法的基础,虽然它的效率不高,但其原理清晰,便于初学者理解和实现。在实际编程中,了解各种排序算法的优缺点和适用场景,能帮助我们选择最合适的解决方案。
总的来说,这个项目是将原本在Python中实现的冒泡排序算法转换为C++版本,这对于学习和理解两种语言的不同以及C++的数组操作和函数定义有很好的实践价值。同时,这也是一个很好的机会去探索如何在C++中优化基本算法...
同时,通过比较内置排序函数与自定义排序算法的效率,可以进一步理解Python的内置功能的强大之处。 总的来说,这个Python基础教程通过实例详细解释了列表排序的方法,包括使用内置函数和实现基本排序算法。这些知识...
总结来说,冒泡排序作为基础排序算法,虽然在实际应用中可能不被首选,但其背后的逻辑和思路对于学习数据结构与算法的人来说至关重要。通过学习和理解冒泡排序,我们可以更好地理解和掌握更高级、更高效的排序算法。
冒泡排序是一种基础的、简单...总的来说,冒泡排序是一种直观且易于理解的排序算法,虽然它的效率并不高,但对初学者来说是学习排序算法的良好起点。通过深入理解冒泡排序,可以为进一步学习更复杂的排序算法打下基础。
在第七周的学习中,我们深入探讨了三种初级排序算法的实现,它们分别是冒泡排序(BubbleSort)、插入排序(InsertionSort)和选择排序(SelectionSort)。这些算法是计算机科学中基础且重要的部分,尤其对于理解和...
**冒泡排序**: - **思想**: 重复遍历待排序序列,每次遍历时比较相邻的两个元素,如果顺序错误就交换位置。 - **实现**: ```java public void bubbleSort(int[] arr) { for (int out = arr.length - 1; out > 0; ...
算法学习系列——排序方法 1、冒泡排序。 主要思想:每轮遍历,都进行两两交换,将大数往后排列。直接上python代码,简单易懂: def bubbleSort(sortList): #冒泡排序 for i in range(len(sortList)):#进行len(sort...
压缩包中的“10个数组源码”可能包含了上述各种操作的实例,比如不同语言实现的排序算法、查找算法,或者特定问题的解决方案。通过分析和实践这些代码,你可以更深入地理解数组的运作机制,提高编程技能。同时,这也...
在Python中,我们可以利用OOP来构建各种算法,如排序算法(冒泡排序、快速排序、归并排序等)、搜索算法(二分查找、广度优先搜索、深度优先搜索等)和图算法(Dijkstra算法、Floyd-Warshall算法等)。通过将这些...