算法分析与设计——各类排序算法
2021-05-12 20:28
标签:算法 href 介绍 style 冒泡 二分 str ref 归并 主要介绍关于插入排序、冒泡排序、快速排序、二分归并排序等几种排序算法。 1.插入排序 2.冒泡排序 3.快速排序 4.二分归并排序 首先是几大算法的效率: 1.插入排序: 插入排序:以下图为例,下一个预备插入的为2,首先和前一个7进行对比,7>2,所以7向后挪动,2再和6进行比较,6向后挪动...依次向前,当1与2比较时,1 一遍下来所有的都已经排好。 2.冒泡排序 冒泡排序是进行多次巡回才可以得到排好序的序列。第一次巡回,5与1比较,交换;5与6比较,不交换;6与2 比较,交换... 多次巡回结果:(需要注意的是,下图中绿色部分是下一次巡回的范围,而这个界限是本次巡回最后一次交换的位置,尤其要注意是交换的位置(第2次巡回6与7只是比较了但没有交换)) 3.快速排序 选定首元素作为划分标准,从前面找第一个比首元素大的,从后往前找第一个比首元素小的,然后将两者进行交换。随后再分别从交换过的两个元素的后面和前面往下寻找。当到中间两个相邻元素进行交换之后,那么首元素和左边最后交换过的那个元素进行交换(下图中是2与5交换) 此后,相当于最开始的首元素(5)把问题划分成两个子问题(左边和右边),之后递归地进行排序就可以得到结果。 4.二分归并算法 把元素序列从中间划分开,利用递归排序,二分排序两边子问题,得到最终排好序的两个子问题,再依次一边拿出一个元素 ,对比之后进行归并。 算法分析与设计——各类排序算法 标签:算法 href 介绍 style 冒泡 二分 str ref 归并 原文地址:https://www.cnblogs.com/yayyer/p/13138244.html