码迷,mamicode.com
首页 > 编程语言 > 详细

python周报第六周

时间:2016-06-12 13:47:44      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

1.初识算法

1.冒泡排序

冒泡排序算法的原理如下:(从后往前)
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

冒泡算法初级代码如下:

 1 ##冒泡
 2 a=[9,2,1,55,33]
 3 
 4 for i in range(len(a)):
 5     for j in range(len(a)-1):
 6         if a[j] > a[j+1]:
 7             middle = a[j]
 8             a[j] = a[j+1]
 9             a[j+1] = middle
10         else:
11             pass
12 
13 print(a)

执行结果如下:

[1, 2, 9, 33, 55]

代码剖析:开始执行:初始列表a=[9,2,1,55,33],第一次外层循环i=0;第一次内层循环j=0;假如a[0]:9 > a[1]:2,交换位置,a[0]:2;a[1]:9,第二次内层循环j=1;假如a[1]:9 > a[2]:1,交换位置,第三次内层循环j=2;假如a[2]:9 > a[3]:55,不成立;pass,第四次内层循环j=3;假如a[3]:55 > a[4]:33,交换位置,内层循环结束,得到结果a[4]==55,拿到第一大的值。第二次外层循环i=1;第一次内存循环j=0;假如a[0]:2 > a[1]:1,交换位置,第二次内层循环j=1;假如a[1]:2 > a[2]:9,不成立,pass,第三次内层循环j=2;假如a[2]:9> a[3]:33,不成立,pass,第四次内层循环j=3;假如a[3]:33 > a[4]:55,不成立,pass,拿到结果a[3] ==33,拿到第二大的值,以此类推。一个一个像冒泡一样拿到最终的列表。

2.选择排序

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下:

首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕。

选择排序初级代码如下:

##选择
b = [8,2,1,55,33]
num = len(b)-1
for i in range(len(b)):
    index = 0
    for j in range(num):
        if b[index] > b[j+1]:
            pass
        else:
            index = j+1
    middle = b[num]
    b[num] = b[index]
    b[index] = middle
    num -= 1
print(b)

代码剖析:

python周报第六周

标签:

原文地址:http://www.cnblogs.com/Caesary/p/5577162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!