- 1
- 0
- 约8.15千字
- 约 24页
- 2026-05-07 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年技术型岗位专业技能面试问题
一、编程语言与基础算法(共5题,每题10分,总分50分)
1.题目:
请编写一个函数,实现快速排序算法,并说明其时间复杂度和空间复杂度。假设输入数组为`[9,3,5,1,13,12]`,请输出排序后的数组。
答案与解析:
答案:
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)
arr=[9,3,5,1,13,12]
sorted_arr=quick_sort(arr)
print(sorted_arr)#输出:[1,3,5,9,12,13]
解析:
快速排序是一种分治算法,核心思想是选择一个基准值(pivot),将数组分为三部分:小于基准值的、等于基准值的、大于基准值的。然后递归地对左右两部分进行排序。
-
原创力文档

文档评论(0)