做了6年的Java,用大白话和面试官扯“八大常用排序算法的基本思想

二、希尔排序

三、直接选择排序

四、堆排序

五、冒泡排序

六、快速排序

七、归并排序

八、基数排序


Hello,你好呀,我是灰小猿,一个超会写bug的程序猿。

最近在进行学习的时候发现总能用到数据结构中的各种排序算法,有的记忆不到位的还需要重新去了解学习。同时在很多的面试中面试官都喜欢提问常见排序的基本思想和步骤,所以今天就抽空在这里和大家用大白话总结一下常见的内部排序算法设计的基本思想,可能比较言简意赅,所以欢迎有其他见解的小伙伴在评论区提出分享。

一、直接插入排序


**直接插入排序的基本思想:**每步将一个待排序的记录按其排序码值的大小,插到前面已经排好的文件中的适当位置,直到全部插入完为止。

二、希尔排序


**希尔排序的基本思想:**先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组,所有距离为dI的倍数的记录放在同一个组中。先在各组内进行直接插入排序;

然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dr=1(dr<dr-1<0<d2<dl),即所有记录放在同一组中进行直接插入排序为止。该方法实质上是一种分组插入方法。

三、直接选择排序


**直接选择排序的基本思想:**选择法排序也是常用的排序方法之一,首先在所有记录中选出排序码最小的记录,把它与第1个记录交换,然后在其余的记录内选出排序码最小的记录,与第2个记录交换…依此类推,直到所有记录排完为止。

四、堆排序


**堆排序的基本思想:**堆排序是一种树形选择排序,是对直接选择排序的有效改进。它通过建立初始堆和不断地重建堆,逐个地将排序关键字按顺序输出,从而达到排序的目的。

五、冒泡排序

最后

即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!

资料领取方式:蓝色传送门

我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为金三银四做准备!
一共有20个知识点专题,分别是:

Dubbo面试专题

JVM面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Java并发面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Kafka面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

MongDB面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

MyBatis面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

MySQL面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Netty面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

RabbitMQ面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Redis面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Spring Cloud面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

SpringBoot面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

zookeeper面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

常见面试算法题汇总专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

计算机网络基础专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

设计模式专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

[外链图片转存中…(img-fXDzh6sA-1628315650126)]

计算机网络基础专题

[外链图片转存中…(img-VfEjWyK5-1628315650126)]

设计模式专题

[外链图片转存中…(img-lYDJdtF5-1628315650127)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值