云帆科技公司高级技术工程师面试题解析.docxVIP

  • 3
  • 0
  • 约6.44千字
  • 约 18页
  • 2026-04-02 发布于福建
  • 举报

云帆科技公司高级技术工程师面试题解析.docx

第PAGE页共NUMPAGES页

2026年云帆科技公司高级技术工程师面试题解析

一、编程语言与基础算法(共5题,每题6分,总分30分)

1.题目:

编写一个函数,实现快速排序算法,并分析其时间复杂度和空间复杂度。要求输入一个包含重复元素的整数数组,输出排序后的数组。

示例输入:`[4,1,3,1,5,2]`

示例输出:`[1,1,2,3,4,5]`

答案:

python

defquick_sort(arr):

iflen(arr)=1:

returnarr

pivot=arr[len(arr)//2]

left=[xforxinarrifxpivot]

middle=[xforxinarrifx==pivot]

right=[xforxinarrifxpivot]

returnquick_sort(left)+middle+quick_sort(right)

时间复杂度:平均O(nlogn),最坏O(n2),空间复杂度:O(logn)

解析:

快速排序采用分治策略,选择基准值(pivot)后,将数组划分为小于、等于、大于三部分,递归排序。时间复杂度受基准值选择影响,平均情况下为O(nlogn),但若基准值选择不当(如已排序数组每次选择中位数)可

文档评论(0)

1亿VIP精品文档

相关文档