算法-冒泡算法

1.冒泡算法,是一种相对来说简单容易理解,易操作,但是不够便捷的一种排序方式

下面,通过一个例子,来快速的理解冒泡算法的含义,现在假如有一个列表a = [9, 5 ,1 ,4, 8, 6, 2, 3, 7 ]

列表a中含有数字1-9,现在通过冒泡算法来将列表中的数字进行正序排列。

第一遍:将下标为0的9作为中心点,和下标为1的数做比较,如果大于下标为1的数字则交换位置,否则保持位置不变

    如果交换了位置,则继续将9作为中心点,继续和下标为2的数值做比较,大于则交换位置,否则保持不变,以此类推。直到最后一个数为止

    如果没有交换位置,则按照作比较的下标为1的数字和下一位下标为2的数字进行比较,大于则交换位置,否则保持不变,以此类推。直到最后一个数为止

    a[0] = 9, a[1] = 5 9>5 则 a = [5, 9, 1, 4, 8, 6, 2, 3, 7] 

    a[1] = 9, a[2] = 1 9>2 则 a = [5, 1, 9, 4, 8, 6, 2, 3, 7] 

    以此类推

第二遍:当所有的数字都做了比较之后,得到的应该是这样的一个列表 a = [5, 1, 4, 8, 6, 2, 3, 7, 9]

    将下标为0数字和下标为1的数字作比较,如果大于则交换位置,否则位置不变,规则和第一遍的相同

    于是,按照这样的原理,当执行到第八遍的时候,列表就是一个正序排列的列表 a = [1, 2, 3, 4, 5, 6, 7, 8, 9]

2.冒泡算法仍然拥有优化改进的地方,具有相对的可操作性,但是也从侧面反映了冒泡算法庞大的计算量

posted @ 2018-07-17 16:45  zxh_python  阅读(375)  评论(0编辑  收藏  举报