python算法——关于冒泡、选择和插入排序的理解
我们将原来的数组叫做待排序数组,再建一个空的数组叫做已排序数组。规定,当选择一个数从待排序数组放入已排序数组后,原来的数就从待排序数组中去除。
- 冒泡排序
冒泡排序其实就是,从待排序数组中选取最大或最小(用两两比较的方法)的数后,将其放入已排序数组,然后按这个方法循环将第二大、第三大的数依次放入已排序数组中。。。。 - 选择排序
同理,选择排序就是在待排序数组中选取最大或最小(用依次比较的方法)的数放在已排序数的第一位,将第二小放在第二位。。。。。 - 插入排序
和前面两个排序不同,前面两个排序是从待排序数组中选择最大或最小的数放入已排序数组,即先判断(待排序数组)再取出。而插入排序则是先取出再判断(已排序数组),先不论大小先取出一个数(一般就是从待排序数组中第一位开始),然后再找已排序数组中找到合适的位置插入。 - 总结
可以看出冒泡和选择排序都是从待排序数组中挑最大或最小的数,依次放入已排序数组,区别就是选择最大或最小数的方法;而插入排序不同,它是直接从待排序数组中取出一个数,然后在已排序数组中判断插入。实际的算法实现中,这两个逻辑数组的操作放在了一个物理数组中操作,所以初次学习时有可能分不清这三种算法。

浙公网安备 33010602011771号