最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

python实现冒泡排序

来源:懂视网 责编:小采 时间:2020-11-27 14:28:10
文档

python实现冒泡排序

python实现冒泡排序:python算法 - python实现冒泡排序冒泡排序的运算原理:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最
推荐度:
导读python实现冒泡排序:python算法 - python实现冒泡排序冒泡排序的运算原理:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最

python算法 - python实现冒泡排序

冒泡排序的运算原理:

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

实例代码

# -*- encoding: utf-8 -*-

def bubble_sort(seq, cmp=cmp):

"""冒泡排序,伪码如下:

BUBBLESORT(A)

1 for i ← 1 to length[A]

2 do for j ← length[A] downto i+1

3 do if A[j] < A[j-1]

4 then exchange A[j] ? A[j-1]

T(n) = θ(n^2)

Args:

seq (Sequence): 一个序列对象。

cmp (Function): 比较函数。默认为内建函数cmp()。

Returns:

一个排序后的列表。

"""

if (seq == None):

return None

length = len(seq)

for i in range(length):

for j in range(length-1, i, -1):

if seq[j] < seq[j-1]:

seq[j], seq[j-1] = seq[j-1], seq[j]

return seq

if __name__ == '__main__':

import random, timeit

items = range(10000)

random.shuffle(items)

def test_sorted():

print(items)

sorted_items = sorted(items)

print(sorted_items)

def test_bubble_sort():

print(items)

sorted_items = bubble_sort(items)

print(sorted_items)

test_methods = [test_sorted, test_bubble_sort]

for test in test_methods:

name = test.__name__ # test.func_name

t = timeit.Timer(name + '()', 'from __main__ import ' + name)

print(name + ' takes time : %f' % t.timeit(1))

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

python实现冒泡排序

python实现冒泡排序:python算法 - python实现冒泡排序冒泡排序的运算原理:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top