最近参加实习面试,面试官问到了有关排序算法的问题,现将冒泡排序、插入排序和快速排序算法的思想及python3实现的代码总结如下:
1、冒泡排序
冒泡排序的主要思想类似于水底的气泡,从水底向水平面移动时,不断变大。
具体实现步骤如下:
step1: 比较相邻的元素,如果第一个比第二个大,就交换他们两个。
step2: 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。此时,最后的元素应该是最大的数。
step3: 针对所有的元素重复以上的步骤,除了最后一个(最后一个已经是最大的了)。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
python3的代码如下:
# -*- coding: utf-8 -*-
"""
Created on Thu Dec 19 11:10:42 2019
@author: Boge
"""
arr_1= [6,3,9,15,4,2]
# 冒泡排序
def bubble_sort(arr):
for i in range(len(arr)):
for j in range(len(arr) - i -