【校招VIP】前端算法考察之排序

发布时间 2023-08-28 14:17:43作者: 校招VIP

考点介绍:

不同的场景中,不同的排序算法执行效率不同。

稳定:冒泡、插入、归并

不稳定:选择、快速、堆排序、希尔排序

一、考点题目

1、使用js实现数组的快速排序

解答:快速排序使用了冒泡+分治的思路。

每轮从数组中取出一个数作为基准;在排序过程中,小于或等于基准数的全部放到基准的左边,大于基准的全部放右边;再对左边和右边依次进行上面两步......

2、判断下列说法是否正确:就排序算法平均所用的辅助空间而言,堆排序、快速排序、归并排序的大小关系是堆排序<快速排序<归并排序。()

A.正确

B.错误

解答:正确答案是 A。

堆的空间复杂度为1,快速排序为log2(n),归并为n

3、下列排序算法中,哪个是稳定的排序算法?

A.选择排序

B.快速排序

C.归并排序

D.希尔排序

解答:正确答案是 C。

选择排序在调整树的过程中改变节点的顺序导致不稳定,快排一个指针从前之后,一个从后至前,从后往前可能将多个小于基准数据的数原本先进入数组却放在了前面......

二、考点文章

1、【校招VIP】三种常用高级排序-堆排序,归并排序,快速排序

常用的高级排序代码整理

堆排序

基本思路

a.将无需序列构建成一个堆,根据升序降序需求选择大顶堆或小顶堆;

b.将堆顶元素与末尾元素交换,将最大元素"沉"到数组末端;

c.重新调整结构,使其满足堆定义,然后继续交换堆顶元素与当前末尾元素,反复执行调整+交换步骤,直到整个序列有序。

......

2、【校招VIP】前端排序算法之快速排序

快速排序是大厂和三四线公司校招的必考点。需要在理解原理的前提下,尽量把代码记忆下来。一方便理解双指标头尾双向进行的原因,另一方面对循环和递归的终止要准确掌握......

3、【校招VIP】高级排序:快速排序

快速排序是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列......

三、考点视频

前端校招的特点、考点和职业发展,前端是IT校招中目前性价比最高的职位,对所学专业要求不高,考点难度较小,且需求量大……

移动端:https://m.xiaozhao.vip/dTopic/detail/1127

PC端:https://xiaozhao.vip/dTopic/detail/1127