您的位置 首页 java

图文深刻理解几种排序算法

一:冒泡排序法

原理:每次对相邻的两个元素进行比较,若前者大于后者则进行交换,如此一趟下来最后一趟的就是最大元素,重复以上的步骤,除了已经确定的元素。

下图是一组元素的排序

第一轮排序开始

第一轮排序

第二轮排序开始

第二轮排序

以此类推:可以发现规律,每第N轮之后,元素从右到左数开始,第N个元素都是对应这轮比较的最大值。可以得出下一轮(N+1)只需比较元素从右向左N元素左边的值。

对应的java代码,如下参考

二: 选择排序

原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的 算法 主要有 简单选择排序 、树型选择排序和堆排序。(这里只介绍常用的简单选择排序)

每次与未排序的最小值元素进行比较

对应的java代码,参考如下

这里只做了简单常用排序的两种,另外两种插入排序和对象排序就不做介绍了。

下一节将介绍栈和队列结构。

文章来源:智云一二三科技

文章标题:图文深刻理解几种排序算法

文章地址:https://www.zhihuclub.com/180866.shtml

关于作者: 智云科技

热门文章

网站地图